1: 2017-05-29 (月) 09:27:11 njf |
現: 2017-05-29 (月) 17:52:32 njf |
| 実行時間の長いプログラムの状況を表示させるため、printで出力させようとすると、しばらく何も出力されず、ある程度時間が経ってからまとめて表示されることがあります。 | | 実行時間の長いプログラムの状況を表示させるため、printで出力させようとすると、しばらく何も出力されず、ある程度時間が経ってからまとめて表示されることがあります。 |
- | これは出力処理には時間がかかるので、ある程度まとめて一気に表示することで、処理速度を速くしているためです。 | + | これは出力処理には時間がかかるので、ある程度の量の内容をまとめて他の処理が一段落したときに一気に表示して、全体の処理速度を速くしているためです。 |
| | | |
- | しかし、プログラムの実行状況を見るにはちょっと不便です。多くのプログラム言語にはそんなときに強制的に出力させる機能が用意されています。一般にそのような機能は「flush」と呼ばれていて、pythonでは以下の方法で利用できます。 | + | しかし、プログラムの実行状況を見るにはちょっと不便です。多くのプログラム言語にはそんなときに強制的に出力させる機能が用意されています。一般にそのような機能は「flush」と呼ばれ、pythonでは以下の方法で利用できます。 |
| | | |
| python2系なら | | python2系なら |
| import sys | | import sys |
| + | |
| print "test" | | print "test" |
| sys.stdout.flush() | | sys.stdout.flush() |