Message242593
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. |
|
Date |
User |
Action |
Args |
2015-05-05 09:21:49 | arekfu | set | recipients:
+ arekfu |
2015-05-05 09:21:48 | arekfu | set | messageid: <1430817708.97.0.91476502488.issue24126@psf.upfronthosting.co.za> |
2015-05-05 09:21:48 | arekfu | link | issue24126 messages |
2015-05-05 09:21:48 | arekfu | create | |
|