print problem

Gabriel Genellina gagsl-py2 at
Tue Jun 17 09:46:38 CEST 2008

En Tue, 17 Jun 2008 04:10:41 -0300, Rich Healey < at> escribió:
> Gabriel Genellina wrote:
>> En Tue, 17 Jun 2008 03:15:11 -0300, pirata <pirata at mars.invalid> escribió:
>>> I was trying to print a dot on console every second to indicates
>>> running process, so I wrote, for example:
>>> for i in xrange(10):
>>>     print ".",
>>>     time.sleep(1)
>>> Idealy, a dot will be printed out each second. But there is nothing
>>> print out until after 10 seconds, all 10 dots come out together.
>>> I've tried lose the comma in the print statement, and it works.
>>> Is that because of the print statement buffer the characters until
>>> there is a new line character?
>> Very probably, altough I can't reproduce it on Windows. Try invoking the script with python -u (unbuffered input/output):
>> python -u
> Or just write to sys.stdout without the print wrapper..

I think the output is still buffered, even if you write directly to sys.stdout, but I don't have a Linux box to test right now.

Gabriel Genellina

More information about the Python-list mailing list