1

でメモリ内の解凍されたファイルを開こうとしていますcodecs.open()。メモリ内のファイルを解凍する方法はわかりましたが、ファイル オブジェクトを作成して で開く方法がわかりませんcodecs。さまざまZipFileなプロパティを試しましたが、うまくいきません。

それで、ここで私がメモリ内のzipをどのように開いたか:

import zipfile, io

f = 'somezipfile.zip'
memory_object = io.BytesIO(f.read()) 
zip_in_memory = zipfile.ZipFile(memory_object)
4

1 に答える 1

2

codecs.open()メモリ内のデータにアクセスする必要はありません。ディスクからファイルをロードするためのものです。メソッドを使用して zipfile オブジェクトからファイルの内容を抽出し、 を使用しextract()て結果の文字列をデコードできますdecode()。モジュールの使用を主張する場合は、返されたオブジェクトを でラップするcodecsことにより、ファイルのようなオブジェクトを取得することもできます。zip_in_memory.open(...)codecs.EncodedFile

于 2011-01-23T19:41:10.670 に答える