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 回答