90

有没有一种简单的方法来获取当前操作系统使用的行尾类型?

4

4 回答 4

129

如果您正在对以文本模式打开的文件进行操作,那么您是正确的,换行符都显示为“ \n”。否则,您正在寻找os.linesep.

http://docs.python.org/library/os.html

操作系统。线间隔

用于在当前平台上分隔(或者更确切地说是终止)行的字符串。这可以是单个字符,例如 POSIX 的“\n”,也可以是多个字符,例如 Windows 的“\r\n”。写入以文本模式打开的文件时,不要使用 os.linesep 作为行终止符(默认);在所有平台上使用单个 '\n'。

于 2009-01-18T08:21:16.447 回答
20

哦,我想通了。显然,PEP-278声明如下:

任何以输入文件结尾的行在 Python 中都将被视为“\n”,因此几乎不需要更改其他代码来处理通用换行符。

于 2009-01-18T06:07:20.540 回答
7

如果指定测试resp。打开文件时正确使用二进制文件,并使用通用换行符,大多数时候您不必担心不同的换行符。

但如果必须,请使用os.linesep

于 2009-01-18T08:21:36.040 回答
1

os.linesep 很重要,因为它依赖于(顾名思义:))在 os 上。

例如,在 Windows 上,它不是“\n”而是“\r\n”。

但是如果你不关心多平台的东西,你可以使用'\n'。

于 2018-04-19T21:47:51.740 回答