我想在我的函数循环期间打印一些调试语句,我使用IPython来调用该函数.让一个示例函数为:
def test_print():
import time
for i in range(5):
time.sleep(2)
print i, time.time()
Run Code Online (Sandbox Code Playgroud)
结果如下:
0 1372337149.84
1 1372337151.84
2 1372337153.85
3 1372337155.85
4 1372337157.85
Run Code Online (Sandbox Code Playgroud)
我希望每行都打印出来,然后等待2秒钟.但行为如下.我首先观察到:
0 1372337149.84
1
Run Code Online (Sandbox Code Playgroud)
然后,在2秒后,我观察1下一行的时间戳和id,即2.我终于看到了最后一张时间戳.我无法弄清楚为什么它表现得像这样,而不是一次一行.有什么想法吗?我是否需要特殊的刷新功能来打印等待打印的内容?
Aya*_*Aya 11
我从来没有使用过IPython,但它应该足以在每个print语句后刷新stdout .
这样的事情应该有效......
def test_print():
import time
import sys
for i in range(5):
time.sleep(2)
print i, time.time()
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7606 次 |
| 最近记录: |