【发布时间】:2015-01-18 01:26:57
【问题描述】:
我使用以下简单的 Python 脚本在 EC2 m3.large 实例上压缩一个大文本文件(例如,10GB)。但是,我总是得到一个MemoryError:
import gzip
with open('test_large.csv', 'rb') as f_in:
with gzip.open('test_out.csv.gz', 'wb') as f_out:
f_out.writelines(f_in)
# or the following:
# for line in f_in:
# f_out.write(line)
我得到的回溯是:
Traceback (most recent call last):
File "test.py", line 8, in <module>
f_out.writelines(f_in)
MemoryError
我已经阅读了一些关于这个问题的讨论,但仍然不太清楚如何处理这个问题。关于如何处理这个问题,有人能给我一个更容易理解的答案吗?
【问题讨论】:
-
马克的解决方案的确切错误是什么?它不能在
f_out.writelines,因为你使用write... -
错误会是这样的:
Traceback (most recent call last): File "test.py", line 8, in <module> for line in f_in: MemoryError
标签: python out-of-memory gzip large-files