New submission from Davide Mancusi: I have a text file with Windows-style line terminators (\r\n) which I open in universal newlines mode. I would expect the newlines attribute to be set after the first call to the readline() method, but apparently this is not the case:
>>> f=open('test_crlf', 'rU') >>> f.newlines >>> f.readline() 'foo\n' >>> f.newlines >>> f.readline() 'bar\n' >>> f.newlines '\r\n' On the other hand, the newlines attribute gets set after the first call to readline() on a file with Unix-style line endings. Also, surprisingly, calling tell() after the first readline() is enough to update the newlines attribute: >>> f=open('test_crlf', 'rU') >>> f.newlines >>> f.readline() 'foo\n' >>> f.newlines >>> f.tell() 77 >>> f.newlines '\r\n' Are these behaviours intended? If so, they should probably be documented. ---------- components: IO messages: 242593 nosy: arekfu priority: normal severity: normal status: open title: newlines attribute does not get set after calling readline() type: behavior versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue24126> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com