我有一个代码,我使用循环迭代某个方案。在每次迭代中,我想要打印出发生的事情。一个愚蠢的最小工作示例如下所示:
import time
Iter=0
for k in range(1,10):
Iter=Iter+1
print('At iteration ',Iter,': k=',k,'.',sep='')
time.sleep(1)
time.sleep(1)
可以让我的问题在如此短的迭代方案中可见:在每次迭代时,print()
函数只打印第一个字符串。其余部分仅在下一次迭代中调用print()
函数后出现。如果我在循环之外使用与print()
函数完全相同的语法,那么我获得了我想要的输出。当我在循环中时,如何获得相同的输出?
我是新手,但我怀疑在Win10机器上使用Spyder IDE的Python 3.5的Anaconda3(64位)发行版可能是相关的。
编辑1:使用@RemcoGerlich的建议解决:"尝试添加' import sys'然后在打印sys.stdout.flush()之后。"非常感谢!