Ich habe eine nicht so große Textdatei (~ 220MB), so ist es viel weniger als die Gesamtmenge meines RAM (12 GB) und sogar 2 GB Grenze für 32bit Prozess auf meinem 64bit Windows7.Python lesen() löst MemoryError während readlines() funktioniert
Dieser einfache Code wirft Memory und ich verstehe nicht, warum:
f_in = open (r"my_txt_file_220Mb.txt", 'r', encoding = 'utf8')
txt = f_in.read()
Seltsam, aber nur dieser Code funktioniert:
txt = ''.join (f_in.readlines())
Ich dachte, dass es das Äquivalent ist. Was ist der Grund für MemoryError?
Ich benutze 32 Bit Python 3.4.2.
können Sie die Traceback-Funktion buchen? klingt in der Tat seltsam. –
'Traceback (jüngste Aufforderung zuletzt):' ' File "1.10 read.py", Linie 2, in' ' txt = f_in.read()' ' MemoryError' Das ist alles. –
In Ihrem zweiten Beispiel versuchen Sie, etwas mit 'txt' Variable zu tun - zumindest drucken Sie die Länge. Und dann sagen Sie uns, ob es mit OOM fehlschlägt oder nicht. – baldr