Python
2.7 文档(以及 Python 3 文档)包含以下有关os.linepath
函数的行:
写入打开的文件时不要使用 os.linesep 作为行终止符 在文本模式下(默认);
为什么?它与在二进制模式下使用它有何不同?
在文本模式下打开文件时,写入文件的任何n
都将转换为所用平台的相应行尾。
因此,例如,如果您在os.linesep
'rn'
的Windows上,当您将其写入文件时,n
将自动转换为rn
,并且您最终会将rrn
写入您的文件。
例如:
>>> import os
>>> os.linesep
'rn'
>>> with open('test.txt', 'w') as f:
... f.write(os.linesep)
...
>>> with open('test.txt', 'rb') as f:
... print repr(f.read())
...
'rrn'