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

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

python2系なら

import sys

print "test"
sys.stdout.flush()

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

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

print("test", flush=True)

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


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom Powered by xpWiki
Counter: 230, today: 2, yesterday: 1
初版日時: 2017-05-29 (月) 17:27:11
最終更新: 2017-05-29 (月) 17:52:32 (JST) (140d) by njf
広告

ログイン

ユーザー名:


パスワード:





パスワード紛失


NJF