5

でzipファイルを読んでいるスレッドがありzipfile.ZipFile().read()、メモリエラーが発生しています。

read()ファイル全体をメモリにロードすることを認識しています。解凍後のファイルサイズが100MBを超えています。も試しましzipfile.ZipFile().open().readlines()たが、時間がかかりすぎます。

メモリエラーを発生させずにファイルを高速で読み取る方法はありますか?

4

1 に答える 1

5

圧縮されたテキスト ファイルを読み込もうとしていると仮定すると、返されたファイルのようなオブジェクトZipFile.open()をイテレータとして扱い、行ごとに処理できます...

from zipfile import ZipFile

zip = ZipFile('myzip.zip')
stream = zip.open('myfile.txt')
for line in stream:
    do_something_with(line)
于 2013-06-20T18:11:20.773 に答える