detecting newline character

Daniel Geržo danger at
Sat Apr 23 14:09:27 EDT 2011

Hello guys,

I need to detect the newline characters used in the file I am reading. 
For this purpose I am using the following code:

def _read_lines(self):
     with contextlib.closing(, "rU")) as fobj:
         if isinstance(fobj.newlines, tuple):
             self.newline = fobj.newlines[0]
             self.newline = fobj.newlines

This works fine, if I call without encoding argument; I am 
testing with an ASCII enghlish text file, and in such case the 
fobj.newlines is correctly detected being as '\r\n'. However, when I 
call with encoding='ascii' argument, the fobj.newlines is 
None and I can't figure out why that is the case. Reading the PEP at I don't see any reason why 
would I end up with newlines being None after I call readlines().

Anyone has an idea? You can fetch the file I am testing with from


S pozdravom / Best regards
   Daniel Gerzo

More information about the Python-list mailing list