可能重复:
Python Progress Bar
我正在运行10,000次for循环, 但是在循环内部有很多计算正在进行中。 我想向控制台打印一条进度消息,通知我循环程序在多长时间内我可能需要等待多长时间。
基本循环是
n = 10000
for i in range(n):
do_stuff_method()
if(i%100 == 0):
print (float(i)/n)*100,
这会在同一行打印一个百分比消息,但问题是我打印出的下一个内容也会在同一个屏幕上打印出来。那,并且由于有99个打印机,控制台变得非常宽,并且有很多滚动。
我真正想要的是控制台打印出当前完成的%,并且估计一行上的finsih替换之前已打印的时间,因此不必经常使用滚动。
可以这样做吗?
干杯, 戴维
答案 0 :(得分:8)
在您的情况下,您只需将打印行更改为:
即可print "\r{0}".format((float(i)/n)*100),
或者您可以像这样尝试而不是打印:
sys.stdout.write("\r{0}".format((float(i)/n)*100))
sys.stdout.flush()