Python ładuje 2 GB pliku tekstowego do pamięci

W Pythonie 2.7, kiedy ładuję wszystkie dane z pliku tekstowego 2,5 GB do pamięci w celu szybszego przetwarzania w ten sposób:

>>> f = open('dump.xml','r')
>>> dump = f.read()

Dostałem następujący błąd:

Python(62813) malloc: *** mmap(size=140521659486208) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
MemoryError

Dlaczego Python próbował przydzielić140521659486208 pamięć bajtów dla2563749237 dane bajtowe? Jak naprawić kod, aby załadował wszystkie bajty?

Mam około 3 GB wolnej pamięci RAM. Plik jest zrzutu xml w Wikisłowniku.

questionAnswers(2)

yourAnswerToTheQuestion