En Tue, 17 Jun 2008 04:10:41 -0300, Rich Healey <[EMAIL PROTECTED]> escribió:
> Gabriel Genellina wrote:
>> En Tue, 17 Jun 2008 03:15:11 -0300, pirata <[EMAIL PROTECTED]> 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 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.

-- 
Gabriel Genellina

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to