関数のループ中にいくつかのデバッグ ステートメントを出力したいので、IPython を使用して関数を呼び出します。関数の例を次のようにします。
def test_print():
import time
for i in range(5):
time.sleep(2)
print i, time.time()
結果は次のようになります。
0 1372337149.84
1 1372337151.84
2 1372337153.85
3 1372337155.85
4 1372337157.85
各行が印刷されることを期待してから、2 秒待ちます。しかし、動作は次のとおりです。私は最初に観察します:
0 1372337149.84
1
次に、2 秒後に のタイムスタンプ1
と次の行の idを観察し2
ます。ようやく前回のタイムスタンプを観測。一度に 1 行ではなく、このように動作する理由がわかりませんでした。何かご意見は?印刷を待っているものを印刷するには、特別なフラッシュ機能が必要ですか?