[Tutor] Console output

python-tutor@toddmaynard.com python-tutor at toddmaynard.com
Wed Oct 5 21:10:18 CEST 2005


>>> import sys
>>> import time
>>> myList=range(10)
>>> for x in myList:
...     sys.stdout.write(str(x) + "\r")
...     sys.stdout.flush()
...     time.sleep(1)

The "\r" causes a return without a newline feed.
Flush forces the text to be output (instead of getting buffered)

Enjoy!

Todd Maynard




On Wednesday 05 October 2005 02:13 pm, Oliver Maunder wrote:
> Does anyone know how I can update a line of console output without creating
> a new line? I'm not explaning this too well, so here's an example.
>
> When you download a file with wget, the console display looks like this:
>
> 14% [=======> ] 344,192 16.28K/s ETA 02:19
>
> All the figures and the progress bar get continously updated. The only way
> I know of sending output to the console is to use print or
> sys.stdout.write(), but that would give me:
> 14% [=======> ] 344,192 16.28K/s ETA 02:19
> 18% [=========> ] 344,192 16.28K/s ETA 02:19
> 20% [============> ] 344,192 16.28K/s ETA 02:19
>
> ...and that's really not what I'm after!
>
> Any help and ideas would be appreciated
>
> Olly


More information about the Tutor mailing list