サイズが 2G を超える単一のファイル。open(f, "rb").read()
私はMemoryErrorを呼び出します。open(f, "rb").read(1<<30)
OKと呼ぶ
2G 制限をなくすにはどうすればよいですか? 十分なメモリがあります -- 16G
サイズが 2G を超える単一のファイル。open(f, "rb").read()
私はMemoryErrorを呼び出します。open(f, "rb").read(1<<30)
OKと呼ぶ
2G 制限をなくすにはどうすればよいですか? 十分なメモリがあります -- 16G
@itaypk がコメントで述べたように、32 ビットの実行可能ファイルはアクセス可能な RAM が 2GB (2^31) に制限されています。追加の RAM を利用するには、64 ビット バージョンの Python を実行する必要があります。
ファイルの処理内容によっては、ファイル全体を読み取る必要がない場合があります。あなたはそれをステップスルーすることができます:
with open('huge_file.txt') as f:
for line in f:
print line # print one line at a time
上記のループは、システムで利用可能なすべてのメモリを使い果たすわけではありません。
ファイルが 2GB しかない場合でも、読み込みのオーバーヘッドにより、2GB をはるかに超えるメモリが使用される場合があります。