我正在尝试从Zip归档文件中访问二进制流(通过ZipExtFile对象)。要逐步读取存储在归档文件中的文本文件对象,这将是相当简单的:
with ziparchive as ZipFile("myziparchive.zip", 'r'):
with txtfile as ziparchive.open("mybigtextfile.txt", 'r'):
for line in txtfile:
....
理想情况下,字节流等效物应该类似于:
with ziparchive as ZipFile("myziparchive.zip", 'r'):
with binfile as ziparchive.open("mybigbinary.bin", 'rb'):
while notEOF
binchunk = binfile.read(MYCHUNKSIZE)
....
很遗憾,
ZipFile.open
似乎不支持将二进制数据读取到ZipExtFile对象中。从文档中可以看到:
鉴于此限制,如何最好地从存档文件直接逐步读取二进制文件? 由于未压缩的文件相当大,因此我希望避免首先提取它。如果包含mode参数,则必须是以下之一:'r'(默认值),'U'或'rU'。