[docs] [issue35870] readline() specification is unclear

Martin Panter report at bugs.python.org
Thu Jan 31 18:28:46 EST 2019


Martin Panter <vadmium+py at gmail.com> added the comment:

I agree that the documentation should be clearer about the first two points. Considering that the "input" function and by default the "str.splitlines" method both behave differently, I often had to re-learn this when I had less Python experience.

The expected behaviour as I understand is the line terminator is included if it was read. It is not included if the size limit or EOF was reached first. The Python 2 documentation <https://docs.python.org/2/library/stdtypes.html#file.readline> is clear about both the newline being included and EOF behaviour.

Regarding text files, if you mean the "TextIOWrapper.readline" method, I think it is reasonable to assume you get the translated line endings as specified by the constructor's "newline" argument: <https://docs.python.org/3/library/io.html#io.TextIOWrapper>. Newline='' and newline='\r\n' would keep the '\r\n' terminators, and newline=None would translate them to '\n'.

----------
nosy: +martin.panter

_______________________________________
Python tracker <report at bugs.python.org>
<https://bugs.python.org/issue35870>
_______________________________________


More information about the docs mailing list