私はそれほど大きなテキストファイル(〜220Mb)を持っていないので、私のRAM(12Gb)の合計量、 64ビットWindows7。Readlines()が動作している間にPython read()がMemoryErrorを発生させる
この単純なコードでは、MemoryErrorを上げ、なぜ私は理解していない:
f_in = open (r"my_txt_file_220Mb.txt", 'r', encoding = 'utf8')
txt = f_in.read()
奇妙な、しかしちょうどこのコードは動作します:
txt = ''.join (f_in.readlines())
が、私はそれが同等であることを考えました。 MemoryErrorの理由は何ですか?
私は32ビットPython 3.4.2を使用しています。
トレースバックを投稿できますか?確かに奇妙に聞こえる。 –
'トレースバック(最新の呼び出しの最後):' すべての 'TXT = f_in.read()' ' MemoryError' で' ' ファイル "1.10 read.py"、2行目、。 –
2番目の例では、 'txt'変数を使って何かをしようとしています - 少なくとも長さを表示してください。 OOMで失敗したかどうかを教えてください。 – baldr