gpt4 book ai didi

python - 从 Python zipfile 读取线程安全吗?

转载 作者:行者123 更新时间:2023-12-03 20:42:13 28 4
gpt4 key购买 nike

我看到了几个不同的意见。
我在 latest docs 中没有看到任何内容(3.9.2)。
我可以安全地读取 ZipFile 中的多个不同条目吗?
我看到了一些不寻常的错误,例如“解压缩数据时出现错误 -3:存储的 block 长度无效”,我想知道它们是否是因为我正在并行读取条目。
编辑:请不要将其作为 Is python zipfile thread-safe? 的副本关闭.如果你只看标题,你会认为它是重复的。但是,如果您阅读实际问题,它会询问有关编写 zip 文件的问题(即使编写 zip 文件本质上并不是真正可并行化的)。这个问题询问有关阅读 zip 文件的问题。

最佳答案

从表面上看,至少它是线程安全的:实际数据 I/O 通过 _SharedFile 对象,它使用 ZipFile lock为了阅读,为自己维护一个私有(private)位置:

def read(self, n=-1):
with self._lock:
if self._writing():
raise ValueError("Can't read from the ZIP file while there "
"is an open writing handle on it. "
"Close the writing handle before trying to read.")
self._file.seek(self._pos)
data = self._file.read(n)
self._pos = self._file.tell()
return data
你可以试试看 _seekableZipFile ,但通常会是 True .

关于python - 从 Python zipfile 读取线程安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66701040/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com