ページへ戻る

− Links

 印刷 

Python​/即時画面出力させる のバックアップソース(No.1) :: NJF Wiki

xpwiki:Python/即時画面出力させる のバックアップソース(No.1)

  Next »[5]
実行時間の長いプログラムの状況を表示させるため、printで出力させようとすると、しばらく何も出力されず、ある程度時間が経ってからまとめて表示されることがあります。
これは出力処理には時間がかかるので、ある程度まとめて一気に表示することで、処理速度を速くしているためです。

しかし、プログラムの実行状況を見るにはちょっと不便です。多くのプログラム言語にはそんなときに強制的に出力させる機能が用意されています。一般にそのような機能は「flush」と呼ばれていて、pythonでは以下の方法で利用できます。

python2系なら
 import sys

 print "test"
 sys.stdout.flush()

とすればすぐに表示が更新されます。

python3系ならprintに引数を追加することで、同じ事が実現できます。

 print("test", flush=True)

ただし、flushを使うとその出力の分だけ処理は重くなるので、あまり頻繁に使いすぎないようにしましょう。


  Next »[5]