Zipアーカイブに含まれるデータファイルから(ZipExtFileオブジェクト経由で)バイナリストリームにアクセスしようとしています。インクリメンタルアーカイブからテキストファイルオブジェクトを読み込むために、これはかなり簡単になります: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オブジェクトに読み込むことができます。 docsから「R」 (デフォルト)、「U」または「のrU」
モードパラメータ、含まれている場合、次のいずれかでなければなりません。
この制約がある場合、バイナリファイルをアーカイブから直接インクリメンタルに読み込むにはどうすればよいですか?圧縮されていないファイルはかなり大きいので、最初に解凍しないでください。
こんにちは!私はzipアーカイブからExcelファイルをopenpyxl load_workbook関数に渡そうとしているのと同じ問題を基本的に持っています。ただし、この関数はバイナリファイルオブジェクト(およびファイルパス)のみを受け入れます。私はこれを解決する方法の説明を見つけることができません。この問題を解決できましたか? – Fredrik