Line endings in python
python
Solution
Yes, it's a python thing; by default `open()` opens files in text mode, where line endings are translated depending on what platform your code is running on. You'll have set `newline=''` in the `open()` call to ask for line endings to be passed through unaltered.
Python 2's standard `open()` function doesn't support this option, and only opening in binary mode would prevent the translation, but you can use the Python 3 behaviour by using `io.open()` instead.
From the documentation on `open`:
`newline` controls how universal newlines mode works (it only applies to text mode).
[...]
- When reading input from the stream, if `newline` is `None`, universal newlines mode is enabled. Lines in the input can end in `'\n'`, `'\r'`, or `'\r\n'`, and these are translated into `'\n'` before being returned to the caller. If it is `''`, universal newlines mode is enabled, but line endings are returned to the caller untranslated.
Problem
Possible Duplicate: Handling \r\n vs \n newlines in python on Mac vs Windows I'm a little bit confused by something, and I'm wondering if this is a python thing. I have a text file that uses Windows line endings ("\r\n"), but if I iterate through some of the lines in the file, store them in a list, and print out the string representation of the list to the console, it shows "\n" line endings. Am I missing something?