Есть ли простой способ получить тип окончания строки, который используется в текущей операционной системе?






О, я понял это. Судя по всему, PEP-278 утверждает следующее:
Any line ending in the input file will be seen as a '\n' in Python, so little other code has to change to handle universal newlines.
Если вы работаете с файлом, который вы открыли в текстовом режиме, то вы правы, что все разрывы строк отображаются как «\n». В противном случае вы ищете os.linesep.
От http://docs.python.org/library/os.html:
os.linesep
The string used to separate (or, rather, terminate) lines on the current platform. This may be a single character, such as '\n' for POSIX, or multiple characters, for example, '\r\n' for Windows. Do not use os.linesep as a line terminator when writing files opened in text mode (the default); use a single '\n' instead, on all platforms.
Если указать тест соотв. двоичный код правильно при открытии файлов и используйте универсальные символы новой строки, вам не придется беспокоиться о разных символах новой строки большую часть времени.
Но если нужно, используйте os.linesep
os.linesep важен, поскольку он зависит (как следует из названия :)) от os.
Например. в Windows это не «\ n», а скорее «\ r \ n».
Но если вас не волнуют многоплатформенные вещи, вы можете просто использовать '\ n'.
Когда вы имеете в виду "текстовый режим", вы имеете в виду небинарный режим в целом?