私たちが実行し、これまでprint文の出力をバッファリングするために書き込まれます私の理解、あたりとして。バッファがフラッシュ(クリア)されると、出力が画面に表示されます。デフォルトでは、プログラムが終了するとバッファがフラッシュされます。しかし、プログラムで "sys.stdout.flush()"ステートメントを使用することによって、バッファを手動でフラッシュすることもできます。以下のコードでは、iの値が5に達するとバッファがフラッシュされます。
以下のコードを実行することでわかります。
オンライン@チルー:〜$猫flush.py
import time
import sys
for i in range(10):
print i
if i == 5:
print "Flushing buffer"
sys.stdout.flush()
time.sleep(1)
for i in range(10):
print i,
if i == 5:
print "Flushing buffer"
sys.stdout.flush()
オンライン@チルー:〜$
***** ***** OUTPUT
チルーオンライン@:オンライン@〜$パイソンflush.py
0 1 2 3 4 5 Flushing buffer
6 7 8 9 0 1 2 3 4 5 Flushing buffer
6 7 8 9
チルー:〜$
参照:http://stackoverflow.com/questions/230751/how-to-flush-output-of-python-print – nitin