Buduję duży słownik danych ze zbioru plików tekstowych. Jak czytam w liniach i przetwarzam je, I append(dataline)
do listy.Dlaczego Python `Błąd pamięci` z listą` append() `wiele pamięci RAM pozostało
W pewnym momencie append()
generuje wyjątek Memory Error
. Jednak oglądając program uruchamiany w Menedżerze zadań systemu Windows, w momencie awarii widzę 4,3 GB dostępnego i 1,1 GB za darmo.
W związku z tym nie rozumiem przyczyny wyjątku.
Wersja w języku Python to 2.6.6. Chyba jedynym powodem jest to, że nie jest w stanie wykorzystać większej ilości dostępnej pamięci RAM. Jeśli tak, czy możliwe jest zwiększenie alokacji?
Spróbuj użyć 64-bitowej wersji Pythona. Chociaż jeśli korzystasz z modułów rozszerzeń, będą one również wymagać 64-bitowego. –
Czy możesz wydrukować ciąg znaków wyjątku 'MemoryError'? To powinno dać nam więcej informacji. – chrisaycock
Czy dołączasz przed lub po przetworzeniu linii? – nmichaels