是否有一种简单的方法可以获得当前操作系统使用的行结尾类型?
答案 0 :(得分:96)
如果您对以文本模式打开的文件进行操作,那么您说错了,所有行显示为“\n
”。否则,您正在寻找os.linesep
。
来自http://docs.python.org/library/os.html:
OS。的 linesep 强>
用于分隔(或者说,终止)线上的字符串 目前的平台。这可能是单一的 字符,例如POSIX的'\ n',或 多个字符,例如, '\ r \ n'代表Windows。不使用 os.linesep作为行终止符时 编写以文本模式打开的文件( 默认);使用单个'\ n'代替, 在所有平台上。
答案 1 :(得分:18)
哦,我明白了。显然,PEP-278说明了以下内容:
在Python中,任何以输入文件结尾的行都将被视为'\ n',因此很少需要更改其他代码来处理通用换行符。
答案 2 :(得分:5)
如果指定test resp。打开文件时正确使用二进制文件,并使用通用换行符,大多数情况下你不必担心不同的换行符。
但如果必须,请使用os.linesep
答案 3 :(得分:0)
os.linesep非常重要,因为它取决于(因为名称隐含:))。
E.g。在Windows上,它不是“\ n”而是“\ r \ n”。
但如果你不关心多平台的东西,你可以使用'\ n'。