Fror truly unbuffered text output you'd have to make changes to the
io.TextIOWrapper class to flush after each write() call. That's an API
change -- the constructor currently has a line_buffering option but no
option for completely unbuffered mode. It would also require some
changes to io.open() which currently rejects buffering=0 in text mode.
All that suggests that it should wait until 3.1.

However it might make sense to at least turn on line buffering when -u
or PYTHONUNBUFFERED is given; that doesn't require API changes and so
can be considered a bug fix.

--Guido van Rossum (home page: http://www.python.org/~guido/)



On Fri, Dec 19, 2008 at 2:47 PM, Antoine Pitrou <solip...@pitrou.net> wrote:
>
>> Well, ``python -h`` still lists it.
>
> Precisely, it says:
>
> -u     : unbuffered binary stdout and stderr; also PYTHONUNBUFFERED=x
>         see man page for details on internal buffering relating to '-u'
>
> Note the "binary". And indeed:
>
> ./python -u
> Python 3.1a0 (py3k:67839M, Dec 18 2008, 17:56:54)
> [GCC 4.3.2] on linux2
> Type "help", "copyright", "credits" or "license" for more information.
>>>> import sys
>>>> sys.stdout.buffer.write(b"y")
> y1
>>>>
>
> I don't know what it would take to enable unbuffered text IO while keeping the
> current TextIOWrapper implementation...
>
> Regards
>
> Antoine.
>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev@python.org
> http://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe: 
> http://mail.python.org/mailman/options/python-dev/guido%40python.org
>
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to