我想在函數循環(huán)中打印一些調試語句,然后使用IPython調用該函數。舉一個示例函數為:def test_print(): import time for i in range(5): time.sleep(2) print i, time.time()結果如下:0 1372337149.841 1372337151.842 1372337153.853 1372337155.854 1372337157.85我希望每行都將被打印,然后等待2秒鐘。但是其行為如下。我首先觀察到:0 1372337149.841 然后,在2秒鐘后,我觀察的時間戳1和下一行的ID,即2。我終于看到了最后一個時間戳。我不知道為什么它會像這樣而不是一次顯示一行。有什么想法嗎?我需要特殊的沖洗功能來打印正在等待打印的內容嗎?
1 回答

揚帆大魚
TA貢獻1799條經驗 獲得超9個贊
我從未使用過IPython,但在每個print語句后刷新標準輸出就足夠了。
這樣的事情應該起作用...
def test_print():
import time
import sys
for i in range(5):
time.sleep(2)
print i, time.time()
sys.stdout.flush()
添加回答
舉報
0/150
提交
取消