我有一个帖子,我正在使用zipfile.ZipFile().read()
读取一个zip文件,我收到内存错误。
我知道read()
将整个文件加载到内存中。解压缩后的文件大小超过100MB。我也试过了zipfile.ZipFile().open().readlines()
,但是花了太多时间。
有没有办法可以快速读取文件而不会出现内存错误?
答案 0 :(得分:5)
假设您正在尝试读取压缩文本文件,可以将ZipFile.open()
返回的类文件对象视为迭代器,并逐行处理...
from zipfile import ZipFile
zip = ZipFile('myzip.zip')
stream = zip.open('myfile.txt')
for line in stream:
do_something_with(line)