(Python 3.5.1)
我正在尝试制作一个EOL字符“normalizer”,因为它会占用一个文件并将EOL字符更改为用户指定的字符。
问题在于我认为python将'\ n'视为本机EOL字符。例如,我在Windows上使用CRLF,因此它将'\ n'写为'\ r \ n'到文件中。 (我使用HxD来证实这一点)
这是我的代码:
for line in file_in:
line = line.rstrip("\r\n") #Strip EOL chars
line += "\n" #Add normalized EOL char
file_out.write(line)
有没有办法让python把'\ n'作为LF而不是用原生的EOL字符替换它?
答案 0 :(得分:1)
如果以二进制模式打开文件(例如file_out = open('somefile.txt', 'wb')
),它只会写出你给它的字节,而不进行换行。您可能还希望以二进制模式打开输入文件文件,以确保在读取时不会进行换行。