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