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

Я прочитал некоторые обсуждения по этому вопросу, но все еще не совсем ясно, как справиться с этим. Может кто-нибудь дать мне более понятный ответ о том, как бороться с этой проблемой?

Ответы на вопрос(3)

Ваш ответ на вопрос