Как записать конец Unix символов строки в Windows с помощью Python

Как я могу записать в файлы с помощью Python (в Windows) и использовать конец Unix символа строки?

например, При выполнении:

f = open('file.txt', 'w')
f.write('hello\n')
f.close()

Python автоматически заменяет \n \r\n.

69
задан tttppp 29 March 2010 в 08:17
поделиться

2 ответа

Для Python 2 и 3

См .: Современный способ: используйте newline = '' ответ на этой самой странице.

Только для Python 2 (исходный ответ)

Откройте файл как двоичный, чтобы предотвратить перевод символов конца строки:

f = open('file.txt', 'wb')

Цитата из руководства Python:

В Windows к этот режим открывает файл в двоичном режиме, поэтому есть также такие режимы, как 'rb', 'wb' и 'r + b'. Python в Windows делает различие между текстовыми и двоичными файлами; символы конца строки в текстовых файлах автоматически слегка изменяются при чтении или записи данных. Эта негласная модификация файловых данных подходит для текстовых файлов ASCII, но приведет к повреждению двоичных данных, как в файлах JPEG или EXE. Будьте очень осторожны при чтении и записи таких файлов в двоичном режиме. В Unix не помешает добавить к режиму букву «b», так что вы можете использовать его независимо от платформы для всех двоичных файлов.

61
ответ дан 24 November 2019 в 13:45
поделиться

При открытии файла вам потребуется использовать двоичный псевдорежим.

f = open('file.txt', 'wb')
8
ответ дан 24 November 2019 в 13:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: