Как я могу удалить ^M
символ от текстового файла (в конце строки) в сценарии Python?
Я сделал следующее, и существует ^M
в каждом разрыве строки.
file = open(filename, "w")
file.write(something)
Если вы пишете файл, вам следует указать open(filename, "wb")
. Таким образом, вы будете писать в двоичном режиме, и Python не будет пытаться определить правильные новые строки для системы, на которой вы находитесь.
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".
dos2unix filename.py
для преобразования разрывов строк в стиль UNIX.