Berker Peksag <berker.pek...@gmail.com> added the comment:

Changing the value of mode also changes its repr. This seems like a bug to me. 
It's probably too late to change TextIOWrapper.__repr__(). I think this needs 
to be discussed on python-dev first.

>>> f = open("README.rst")
>>> f
<_io.TextIOWrapper name='README.rst' mode='r' encoding='UTF-8'>
>>> f.writable()
False
>>> f.mode = "w"
>>> f.writable()
False
>>> f
<_io.TextIOWrapper name='README.rst' mode='w' encoding='UTF-8'>

There's an commented-out code in the initial checkin:

https://github.com/python/cpython/commit/4fa88fa0ba35e25ad9be66ebbdaba9aca553dc8b#diff-b67be9e0a41447de808ba3b7099a44a8R2341

/*    {"mode", (getter)TextIOWrapper_mode_get, NULL, NULL},
*/

TextIOWrapper.__repr__() was updated to include 'mode' in 
https://github.com/python/cpython/commit/a4815caa7ccf21aa994d0e0eec66873072f0e352

See issue 36271 for a related report. The OP was confused because we don't set 
mode manually in gzip.open() and bz2.open() (as opposed to what we do in 
io.open() and tokenize.open())

----------
nosy: +berker.peksag, pitrou
stage:  -> test needed
versions: +Python 3.9 -Python 3.7

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32655>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to