私のPythonスクリプトに〜2GBのテキストファイル(約35Kファイル)をロードしようとしています。 page.read()の3分の1の周りにメモリエラーが発生します。私はPython MemoryErrorテキストファイルをロードする
for f in files:
page = open(f)
pageContent = page.read().replace('\n', '')
page.close()
cFile_list.append(pageContent)
このサイズのオブジェクトやプロセスを決してPythonで処理したことはありません。他のPython MemoryError関連のスレッドをチェックしましたが、私のシナリオを修正するための何も得られませんでした。うまくいけば、そこに私を助けることができる何かがあります。
あなたはチャンクで入力を読みたいと思うでしょう。この質問への答えを見てみましょう:http://stackoverflow.com/questions/519633/lazy-method-for-reading-big-file-in-python –
64ビットマシンを使用している場合は、 64ビットのPythonビルドを使用しています。 – geoffspear
なぜ私はcFile_listのすべてのファイルのすべての内容を読み込んでいるのか分かりません。ファイルの内容と正確に何をしたいのですか? '\ n'を ''に置き換えて、それぞれのファイルの内容を別の対応するファイルに保存したいと思うかもしれません。これがあなたがやりたがっている場合は、その内容を新しいファイルに保存することができます。それはforループの中にあります。そして、あなたがこれを行うファイルの数にかかわらずメモリエラーは発生しません。 –