実行時間の長いプログラムの状況を表示させるため、printで出力させようとすると、しばらく何も出力されず、ある程度時間が経ってからまとめて表示されることがあります。 これは出力処理には時間がかかるので、ある程度の量の内容をまとめて他の処理が一段落したときに一気に表示して、全体の処理速度を速くしているためです。
しかし、プログラムの実行状況を見るにはちょっと不便です。多くのプログラム言語にはそんなときに強制的に出力させる機能が用意されています。一般にそのような機能は「flush」と呼ばれ、pythonでは以下の方法で利用できます。
python2系なら
import sys print "test" sys.stdout.flush()
とすればすぐに表示が更新されます。
python3系ならprintに引数を追加することで、同じ事が実現できます。
print("test", flush=True)
ただし、flushを使うとその出力の分だけ処理は重くなるので、あまり頻繁に使いすぎないようにしましょう。
ぺージ情報 | |
---|---|
ぺージ名 : | Python/即時画面出力させる |
ページ別名 : | 未設定 |
ページ作成 : | njf |
閲覧可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
編集可 | |
グループ : | すべての訪問者 |
ユーザー : | すべての訪問者 |
Counter: 4230,
today: 1,
yesterday: 0
初版日時: 2017-05-29 (月) 09:27:11
最終更新: 2017-05-29 (月) 09:52:32 (JST) (2485d) by njf