python - 在 python 中读取 zip 文件时出现内存错误

标签 python file memory zip

我有一个线程,我在其中使用 zipfile.ZipFile().read() 读取一个 zip 文件,但出现内存错误。

我知道 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)

关于python - 在 python 中读取 zip 文件时出现内存错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17220370/

相关文章:

c++ - 有没有办法使用初始化为第一行的指针访问二维数组的第二行?

python - 我正在使用随机生成的有序对的 numpy 数组,我需要确定有序对是否是不同类型的三角形

azure - 如何在 PySpark 中保存带有当前日期和时间的文件名?

ios - 如何防止其他开发人员在 Xcode 中创建现有文件

memory - FreeRTOS 应用程序的长 gdb 回溯是堆栈溢出的标志吗?

c - 编写此代码的编译器友好且与字节序无关的方式是什么?

python - 如何获得在 iPython Notebook 示例中经常看到的现代风格的 matplotlib 图?

python - 用 python 处理 json

Python timedelta 收到意外结果

python - Pandas DataFrame 没有完整的数据,而是使用三个点