gagsl-py2 at yahoo.com.ar
Tue Jun 17 09:46:38 CEST 2008
En Tue, 17 Jun 2008 04:10:41 -0300, Rich Healey <healey.rich at gmail.com> 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 ".",
>>> 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 your_script.py
> 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.
More information about the Python-list