我有一个线程,我在其中读取 zip 文件zipfile.ZipFile().read()
,但出现内存错误。
我知道read()
将整个文件加载到内存中。解压后文件大小超过100MB。我也尝试过zipfile.ZipFile().open().readlines()
,但它需要太多时间。
有什么方法可以快速读取文件而不会出现内存错误?
假设您正在尝试读取压缩文本文件,您可以将返回的类文件对象ZipFile.open()
视为迭代器,并逐行处理它...
from zipfile import ZipFile
zip = ZipFile('myzip.zip')
stream = zip.open('myfile.txt')
for line in stream:
do_something_with(line)