Как удалить ^M

Как я могу удалить ^M символ от текстового файла (в конце строки) в сценарии Python?

Я сделал следующее, и существует ^M в каждом разрыве строки.

file = open(filename, "w")
file.write(something)
9
задан Peter Mortensen 1 February 2016 в 01:10
поделиться

3 ответа

Если вы пишете файл, вам следует указать open(filename, "wb"). Таким образом, вы будете писать в двоичном режиме, и Python не будет пытаться определить правильные новые строки для системы, на которой вы находитесь.

9
ответ дан 4 December 2019 в 12:59
поделиться

Python может открыть файл в двоичном или текстовом режиме. По умолчанию используется текстовый режим, поэтому режим "w" означает запись в текстовом режиме. В текстовом режиме Python подстраивает окончания строк под платформу, на которой вы работаете. Это означает, что на Windows этот код:

f = open("foo.txt", "w")
f.write("Hello\n")

приведет к созданию текстового файла, содержащего "Hello\r\n".

Вы можете открыть файл в двоичном режиме, используя "b" в режиме:

f = open("foo.txt", "wb")
f.write("Hello\n")

результатом будет текстовый файл, содержащий "Hello\n".

5
ответ дан 4 December 2019 в 12:59
поделиться

dos2unix filename.py

для преобразования разрывов строк в стиль UNIX.

2
ответ дан 4 December 2019 в 12:59
поделиться
Другие вопросы по тегам:

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