Сохранять стиль конца строки при работе с файлами в Python

Я ищу способ гарантировать, что стиль конца строки файла поддерживается в программе Python при чтении, редактировании и записи.

Python имеет универсальную поддержку окончания файла, которая может преобразовывать все окончания строк в \ n при чтении файла, а затем преобразовать их все в системные значения по умолчанию при записи файла. В моем случае я хотел бы все же выполнить первоначальное преобразование, но затем записать файл с исходным стилем EOL, а не системным по умолчанию.

Есть ли стандартный способ сделать это? Если нет, существует ли стандартный способ определения стиля EOL файла?

Предполагая, что стандартного способа сделать это не существует, возможный рабочий процесс будет следующим:

  1. Чтение файла в двоичном режиме.
  2. Декодировать в utf-8 (или другую требуемую кодировку).
  3. Определить стиль EOL.
  4. Преобразовать все окончания строк в \ n .

  5. Что-нибудь сделать с файлом.

  6. ] Преобразовать все окончания строк в исходный стиль.

  7. Кодировать файл.
  8. Записать файл в двоичном режиме.

В этом рабочем процессе как лучше всего выполнить шаг 2?

11
задан Josh Lee 28 February 2011 в 16:27
поделиться