循环指标的进展

Dav*_*agh 5 python progress-bar

可能重复:
Python进度条

我正在运行10,000次for循环,但在循环内部有很多计算正在进行.我想向控制台打印一条进度消息,通知我循环程序在多长时间内我可能需要等待多长时间.

基本循环是

n = 10000 
for i in range(n):
   do_stuff_method()
   if(i%100 == 0):
      print (float(i)/n)*100,
Run Code Online (Sandbox Code Playgroud)

这会在同一行打印出一个百分比消息,但问题是我打印出的下一个内容也会打印在同一个屏幕上.那,并且由于有99个打印机,控制台变得相当宽,并且有很多滚动.

我真正想要的是控制台打印出当前完成的%,并且在一行上的finsih的估计时间替换之前已打印的时间,因此不必滚动很多.

可以这样做吗?

干杯,戴维

ibl*_*vic 8

在您的情况下,您只需将打印行更改为:

print "\r{0}".format((float(i)/n)*100),
Run Code Online (Sandbox Code Playgroud)

或者您可以尝试这样而不是打印:

sys.stdout.write("\r{0}".format((float(i)/n)*100))
sys.stdout.flush()
Run Code Online (Sandbox Code Playgroud)