Есть ли простой способ получить тип конца строки, используемый текущей операционной системой?
Если вы работаете с файлом, который вы открыли в текстовом режиме, то вы правы: все разрывы строк отображаются как '\n'. В противном случае вы ищете os.linesep.
\n
os.linesep
С http://docs.python.org/library/os.html:
Os. linesep Строка, используемая для разделения (или, скорее, завершения) строк на текущая платформа. Это может быть один символ, такой как '\ n' для POSIX, или несколько символов, например, '\ r \ n' для Windows. Не использовать os.linesep как терминатор строки, когда запись файлов, открытых в текстовом режиме ( дефолт); вместо этого используйте один '\ n', на всех платформах.
Os. linesep
Строка, используемая для разделения (или, скорее, завершения) строк на текущая платформа. Это может быть один символ, такой как '\ n' для POSIX, или несколько символов, например, '\ r \ n' для Windows. Не использовать os.linesep как терминатор строки, когда запись файлов, открытых в текстовом режиме ( дефолт); вместо этого используйте один '\ n', на всех платформах.
О, я понял это. Очевидно, PEP-278 утверждает следующее:
Любая строка, заканчивающаяся во входном файле, будет выглядеть как '\ n' в Python, поэтому немного другого кода нужно изменить, чтобы обработать универсальные символы новой строки.
Если указать тест соотв. правильно открывать двоичные файлы при открытии файлов и использовать универсальные символы новой строки, вам не придется беспокоиться о различных символах новой строки.
Но если вам нужно, используйте os.linesep
os.linesep важен, так как зависит (как следует из названия :)) от os.
например. в Windows это не "\ n", а "\ r \ n".
Но если вас не волнуют мультиплатформенные вещи, вы можете просто использовать '\ n'.