我一直在尝试使用以下代码在 python2.7 中打印出 for 循环的进度:
for i in range(100):
if float(i) % 10.0 == 0:
print i, "\r",
我所追求的行为是在标准输出上刷新同一行,而不是每次都写入新行。
编辑1:
在我的控制台(Xfce Terminal 0.4.8)中进行测试,无论我是否包含该if
语句,我实际上都没有得到任何输出。
为什么没有输出?
我最初说标准输出的行为取决于是否存在 if 语句,因为我将产生问题的代码简化为最简单的形式(仅产生上述效果)。我很抱歉。
编辑2:
感谢senderle,这已经解决了。如果您错过了sleep()
命令,打印和回车会发生得太快,以至于您看不到它们。
编辑 3:
最后一件事。如果您没有找到 中的最后一个数字range(100)
,即 99,则该数字会从屏幕上清除。
编辑4:
注意senderle的答案后面print i
的逗号。