Steven D'Aprano <[email protected]> added the comment:
This seems to be the difference between Universal Newlines or not. In Python 2,
you have to set it explicitly with a U in the open mode:
$ python2.7 -c 'import sys; print("Linecount=", sum(1 for x in
open(sys.argv[1], "Ur")))' line_break_err.txt
('Linecount=', 18)
In Python 3, Universal Newlines is the default for text files, but you can
control it with the ``newline`` parameter:
$ python3.5 -c 'import sys; print("Linecount=", sum(1 for x in
open(sys.argv[1], newline="\n")))' line_break_err.txt
Linecount= 9
$ python3.5 -c 'import sys; print("Linecount=", sum(1 for x in
open(sys.argv[1], newline="\r")))' line_break_err.txt
Linecount= 15
I think this explains the difference you are seeing. Do you agree?
----------
nosy: +steven.daprano
_______________________________________
Python tracker <[email protected]>
<https://bugs.python.org/issue38740>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com