Message288282
In C implementation, write() calls underlaying flush() method when write_through=True.
https://github.com/python/cpython/blob/3.6/Modules/_io/textio.c
if (self->write_through)
text_needflush = 1;
if (self->line_buffering &&
(haslf ||
PyUnicode_FindChar(text, '\r', 0, PyUnicode_GET_LENGTH(text), 1) != -1))
needflush = 1;
But pure Python implementation doesn't care write_through option at all.
https://github.com/python/cpython/blob/3.6/Lib/_pyio.py
self.buffer.write(b)
if self._line_buffering and (haslf or "\r" in s):
self.flush()
When PyPy 3.5 is released, this difference may affects PyPy users.
(I hadn't checked how PyPy provide io module.) |
|
Date |
User |
Action |
Args |
2017-02-21 09:50:54 | methane | set | recipients:
+ methane |
2017-02-21 09:50:54 | methane | set | messageid: <1487670654.12.0.413723829989.issue29611@psf.upfronthosting.co.za> |
2017-02-21 09:50:54 | methane | link | issue29611 messages |
2017-02-21 09:50:53 | methane | create | |
|