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

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._line_buffering = 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 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 <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

AltStyle によって変換されたページ (->オリジナル) /