Python写入新文件 - 但错误的EOL转换

时间:2012-12-11 09:37:42

标签: python file

我的脚本会写入并创建一个新文件,但它目前在Mac EOL Conversion而不是Windows中进行。这意味着每一行只以'CR'而不是'CR LF'结束,这对我正在尝试做的事情不起作用。

现在为什么会这样,或者我如何改变它?

f = open('...')
text_file1.write(str(i) + ',' + harvestServer + ',' + finalString + harvestCommand + '\r')
text_file1.close()

1 个答案:

答案 0 :(得分:1)

\r替换为\n,确保以文本模式打开文件。这将使用您平台的原生约定(即os.linesep)。

或者,以二进制模式打开文件并使用\r\n。无论您在何处运行代码,都将使用Windows约定。

最后,您可以通过向open()提供可选的newline参数来控制换行符。