我想在函数循环中打印一些调试语句,然后使用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
提交
取消