[Python-Dev] Can't have unbuffered text I/O in Python 3.0? (original) (raw)

Brett Cannon brett at python.org
Sun Dec 21 00:15:22 CET 2008


On Sat, Dec 20, 2008 at 13:45, Fabio Zadrozny <fabiofz at gmail.com> wrote:

It appears that this bug was already reported: http://bugs.python.org/issue4705

Any chance that it gets in the next 3.0.x bugfix release? Just as a note, if I do: sys.stdout.linebuffering = True, it also works, but doesn't seem right as it's accessing an internal attribute. Note 2: the solution that said to pass 'wb' does not work, because I need the output as text and not binary or text becomes garbled when it's not ascii.

Can't you decode the bytes after you receive them?

-Brett

Thanks,

Fabio On Fri, Dec 19, 2008 at 9:03 PM, Guido van Rossum <guido at python.org> wrote: 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 linebuffering 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 <solipsis at 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 at 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 at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/fabiofz%40gmail.com


Python-Dev mailing list Python-Dev at python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/brett%40python.org



More information about the Python-Dev mailing list