环印第进展

2024-03-29 09:41:23 发布

您现在位置:Python中文网/ 问答频道 /正文

Possible Duplicate:
Python Progress Bar

我运行了10000次for循环, 但在这个循环中有很多计算在进行。 我想打印一条进度消息到控制台,告诉我程序在循环中的进度是多久,我可能还要等多久。

基本循环是

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

这会在同一行打印出一个百分比消息,但问题是,我打印出的下一条消息也会在同一屏幕上打印出来。因为有99辆普锐诺,所以控制台变得很宽,并且有很多滚动条。

我真正想要的是让控制台打印出当前完成的百分比,并且估计在一行上找到sih的时间将替换先前打印的内容,这样就不需要很多滚动。

能做到吗?

干杯, 戴维


Tags: in程序消息forifbarrangedo
1条回答
网友
1楼 · 发布于 2024-03-29 09:41:23

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

print "\r{0}".format((float(i)/n)*100),

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

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

相关问题 更多 >