Как удалить символ ^M
из текстового файла (в конце строки) в Python script?
Я сделал следующее, и есть ^M
в каждом прерывании строки.
file = open(filename, "w")
file.write(something)
Как удалить символ ^M
из текстового файла (в конце строки) в Python script?
Я сделал следующее, и есть ^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.
string.replace('\ r', '') работал у меня.
Уродливый, но ни r +, ни r + b, ни NOTHING ELSE не работал (для меня, конечно): (
Для переносимости вы можете попробовать следующие
import os
file = open(filename, "w")
file.write(something.replace('\r\n', os.linesep))
запустите autopep8 в файле
> apt-get install python-autopep8
> autopep8 python_file_name > new_python_file_name.py