[Python-Dev] Backwards incompatible sys.stdout.write() behavior in Python 3 (Was: [Python-ideas] Pythonic buffering in Py3 print()) (original) (raw)
anatoly techtonik techtonik at gmail.com
Fri Jan 13 16:34:38 CET 2012
- Previous message: [Python-Dev] cpython: Implement PEP 380 - 'yield from' (closes #11682)
- Next message: [Python-Dev] Backwards incompatible sys.stdout.write() behavior in Python 3 (Was: [Python-ideas] Pythonic buffering in Py3 print())
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Posting to python-dev as it is no more relates to the idea of improving print().
sys.stdout.write() in Python 3 causes backwards incompatible behavior that breaks recipe for unbuffered character reading from stdin on Linux - http://code.activestate.com/recipes/134892/ At first I though that the problem is in the new print() function, but it appeared that the culprit is sys.stdout.write()
Attached is a test script which is a stripped down version of the recipe above.
If executed with Python 2, you can see the prompt to press a key (even though output on Linux is buffered in Python 2). With Python 3, there is not prompt until you press a key.
Is it a bug or intended behavior? What is the cause of this break?
anatoly t. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20120113/e0b082f9/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: getchrec.py Type: text/x-python Size: 489 bytes Desc: not available URL: <http://mail.python.org/pipermail/python-dev/attachments/20120113/e0b082f9/attachment.py>
- Previous message: [Python-Dev] cpython: Implement PEP 380 - 'yield from' (closes #11682)
- Next message: [Python-Dev] Backwards incompatible sys.stdout.write() behavior in Python 3 (Was: [Python-ideas] Pythonic buffering in Py3 print())
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]