"readline()" omitted '\r' in win32 for dos format text file
Peter Otten
__peter__ at web.de
Thu Dec 2 07:30:49 EST 2004
Newgene wrote:
> I have python2.3 installed on win2k. I noticed that when I open a
> dos format text file (eol is '\r\n'), readline() always returns a line
> ending with '\n' only, not '\r\n'. While I read the same file on unix,
> it returns a line ending with '\r\n' correctly.
> This makes me difficult to determine the format of a text file, dos or
> unix.
>
> Is this a bug or intended behavior? If not a bug, then how to
> determine the format of a text file?
It's not a bug. On windows, files are opened in text mode by default.
Opening a file in binary mode
file(name, "rb")
will preserve the line endings regardless of platform while opening it in
"universal" mode
file(name, "rU")
will normalize all line endings to "\n".
Peter
More information about the Python-list
mailing list