Python获得正确的行结束

时间:2009-01-18 06:01:14

标签: python line-endings

是否有一种简单的方法可以获得当前操作系统使用的行结尾类型?

4 个答案:

答案 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'。