修复将'\ n'视为本机EOL字符

时间:2016-01-01 21:30:57

标签: python eol

(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字符替换它?

1 个答案:

答案 0 :(得分:1)

如果以二进制模式打开文件(例如file_out = open('somefile.txt', 'wb')),它只会写出你给它的字节,而不进行换行。您可能还希望以二进制模式打开输入文件文件,以确保在读取时不会进行换行。