Message373287
Oh, this is a serious problem.
AFAIK TextIOWrapper initially supported only buffered writers, but the support of non-buffered writers was added later. We can make TextIOWrapper calling write() of underlying binary stream repeatedly, but it will break the code which uses TextIOWrapper with other file-like objects whose write() method does not return the number of written bytes. For example:
buffer = []
class Writer: write = buffer.append
t = TextIOWrapper(Writer())
Even if we fix writing sys.stdout and sys.stderr there will be a problem with programs which write directly to sys.stdout.buffer or use open(buffering=0).
This is a complex issue and it needs a complex solution. |
|
Date |
User |
Action |
Args |
2020-07-08 08:29:17 | serhiy.storchaka | set | recipients:
+ serhiy.storchaka, pitrou, vstinner, methane, mjacob |
2020-07-08 08:29:17 | serhiy.storchaka | set | messageid: <1594196957.59.0.393321990532.issue41221@roundup.psfhosted.org> |
2020-07-08 08:29:17 | serhiy.storchaka | link | issue41221 messages |
2020-07-08 08:29:17 | serhiy.storchaka | create | |
|