大きなテキストファイルを生成するための簡単なpythonプログラムを作成しました:
import sys
import random
f = open('data.txt', 'w')
for i in range(100000000):
f.write(str(i) + "\t" + str(random.randint(0,1000)) + "\n")
f.close()
CPython を使用して起動すると、利用可能なすべての OS メモリが消費され、ファイルには何も書き込まれません。
Jythonで起動すると、OutOfMemoryException
.
私が理解している限り、すべてをメモリバッファに保存し、close()
呼び出し前にフラッシュしませんでした。
私の質問は: ファイル バッファを制限し、autoflush をトリガーする方法は? 手動で呼び出したくありませんflush()
。パフォーマンスの観点からは間違っていると思います。flush()
ファイルバッファが過負荷になったときなどに自動的に呼び出されたい。
ありがとう!