有没有一种简单的方法来获取当前操作系统使用的行尾类型?
Evan Fosmark
问问题
63004 次
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 回答