Chris Rebert wrote:
On Sun, Mar 8, 2009 at 1:37 AM, Daniel Dalton <d.dal...@iinet.net.au> wrote:
Hi,

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

Use the carriage return character to overwrite the line (you'll need
to forego `print`):

from sys import stdout
while working:
    stdout.write('\r'+percent)

Note that you'll need to ensure that `percent` has constant length
throughout the loop.


or "erase" the previous character first with whitespace
stdout.write('\r    \r%s%%' % percent).

curse might be more reliable for this kind of thing (though it is definitely an overkill)

Note: \r doesn't work on IDLE
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to