我应该使用哪一个:os.sep或os.path.sep?

问题描述 投票:50回答:3

它们是相同的,但我应该使用哪一个?

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

os.sep

操作系统用于分隔路径名组件的字符。这是POSIX的'/'和Windows的'\'。请注意,知道这不足以解析或连接路径名 - 使用os.path.split()和os.path.join() - 但它偶尔会有用。也可以通过os.path获得。

python operating-system
3个回答
66
投票

我会使用os.path.sep来清楚它是路径分隔符......但是一致性更重要,所以如果已经使用了它,那就使用它。否则,选择一个并一直使用它。

编辑:只是为了确保你没有重新发明轮子,但是,path模块已经有joinsplitdirnamebasename函数......所以你应该很少需要使用path.sep

>>> os.path.join("foo", "bar", "baz")
'foo/bar/baz'
>>> os.path.split(_)
('foo/bar', 'baz')

9
投票

为了清晰起见,我建议您使用os.path.sep,因为它是路径分隔符,而不是OS分隔符。如果你import os.path as path你可以称之为path.sep,这是更好的。


9
投票

如果您使用的是Jython 2.7,我建议使用os.sep(works)而不是os.path.sep(已损坏),因为Windows上的Jython有一个错误,返回"/"斜杠而不是所需的"\"反斜杠。

© www.soinside.com 2019 - 2024. All rights reserved.