Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

progress of loop indicator [duplicate]

Possible Duplicate:
Python Progress Bar

I am running a for loop 10,000 times, but inside the loop there are a lot of calculations going on. I would like to print out a progress message to the console informing me how far along in the loop the program is how much longer I might have to wait.

the basic loop is

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

This prints out a percentage message on the same line, but the problem is that the next thing that I print out is also printed out on the same screen. That, and since there are 99 prinouts, the console gets pretty wide and there is a lot of scrolling across.

What I would really like is for the console to print out the current % done, and an estimated time to finsih on the one line replace that which had been previously printed, so there doesn't have to be a lot scrolling.

Can this be done?

Cheers, Davy

like image 899
Davy Kavanagh Avatar asked Jul 25 '12 14:07

Davy Kavanagh


1 Answers

In your case you can do it simply by changing your print line to be:

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

Or you can try it like this instead of print:

sys.stdout.write("\r{0}".format((float(i)/n)*100))
sys.stdout.flush()
like image 63
iblazevic Avatar answered Nov 03 '22 05:11

iblazevic