7

関数のループ中にいくつかのデバッグ ステートメントを出力したいので、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 行ではなく、このように動作する理由がわかりませんでした。何かご意見は?印刷を待っているものを印刷するには、特別なフラッシュ機能が必要ですか?

4

1 に答える 1