Чи є простий спосіб отримати тип закінчення рядка, який використовує поточна операційна система?
Чи є простий спосіб отримати тип закінчення рядка, який використовує поточна операційна система?
Відповіді:
Якщо ви працюєте з файлом, який ви відкрили в текстовому режимі, то ви праві, що розриви рядків відображаються як ' \n
'. В іншому випадку ви шукаєте os.linesep
.
З http://docs.python.org/library/os.html :
ос. рядок
Рядок, який використовується для відокремлення (або, вірніше, закінчення) рядків на поточній платформі. Це може бути один символ, наприклад '\ n' для POSIX, або кілька символів, наприклад, '\ r \ n' для Windows. Не використовуйте os.linesep як термінатор рядка під час написання файлів, відкритих у текстовому режимі (за замовчуванням); використовуйте замість цього \ 'n на всіх платформах.
О, я це зрозумів. Очевидно, PEP-278 стверджує наступне:
Будь-який рядок, що закінчується у вхідному файлі, буде розглядатися як '\ n' у Python, тому мало іншого коду потрібно змінювати, щоб обробляти універсальні нові рядки.
Якщо вказати тест, відп. належним чином під час відкривання файлів і використовуючи універсальні нові рядки, вам не доведеться турбуватися про різні нові рядки більшість часу.
Але якщо вам доведеться, використовуйте os.linesep