"Daniel Dalton" <d.dal...@iinet.net.au> 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: sys.stdout.flush() Alternatively, you can play with backspaces instead of the carriage return: print '\b\b\b\b', print percent, sys.stdout.flush() And see what happens. - Hendrik -- http://mail.python.org/mailman/listinfo/python-list