Python - Как сжать большой текстовый файл без MemoryError?
Я использую следующий простой скрипт Python для сжатия большого текстового файла (скажем,10GB) на большом экземпляре EC2 m3. Тем не менее, я всегда получил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
Я прочитал некоторые обсуждения по этому вопросу, но все еще не совсем ясно, как справиться с этим. Может кто-нибудь дать мне более понятный ответ о том, как бороться с этой проблемой?