help with printing to stdout...

Hendrik van Rooyen mail at
Sun Mar 8 13:48:31 CET 2009

"Daniel Dalton" <d.dalton at> wrote:

> I've got a program here that prints out a percentage of it's
> completion. Currently with my implimentation it prints like this:
> 0%
> 1%
> 2%
> 3%
> 4%
> etc taking up lots and lots of lines of output... So, how can I make it
> write the percentage on the same line eg. 
> while working:
>   print percent
> every time the line print percent is ran it should delete the old
> percentage from the screen, replacing it with the new one, so as to only
> use up one line... Basically I'm just printing a string of text to the
> screen and every time my print command is ran I would like the old text
> to be removed and my new text added (talking about the one line of the
> screen here)... This is a command line program, under linux...

Play with the following:

put a comma after the print, like this:

print percent,    #This keeps it on the same line

Then put a carriage return at the start, like this:

print '\r',percent,

or like this:

print '\r'+str(percent),

Then make sure it gets sent out, like this:


Alternatively, you can play with backspaces instead of the carriage return:

print '\b\b\b\b',
print percent,

And see what happens.

- Hendrik

More information about the Python-list mailing list