Python - Wie kann ich eine große Textdatei ohne MemoryError gzipen?

Ich verwende das folgende einfache Python-Skript, um eine große Textdatei zu komprimieren (z. B. 10GB) auf einer EC2 m3.large Instanz. Allerdings habe ich immer einMemoryError:

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)

Der Traceback, den ich habe, ist:

Traceback (most recent call last):
  File "test.py", line 8, in <module>
    f_out.writelines(f_in)
MemoryError

Ich habe einige Diskussionen zu diesem Thema gelesen, aber immer noch nicht ganz klar, wie ich damit umgehen soll. Kann mir jemand eine verständlichere Antwort geben, wie ich mit diesem Problem umgehen soll?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage