它们是相同的,但我应该使用哪一个?
http://docs.python.org/library/os.html:
os.sep
操作系统用于分隔路径名组件的字符。这是POSIX的'/'和Windows的'\'。请注意,知道这不足以解析或连接路径名 - 使用os.path.split()和os.path.join() - 但它偶尔会有用。也可以通过os.path获得。
我会使用os.path.sep
来清楚它是路径分隔符......但是一致性更重要,所以如果已经使用了它,那就使用它。否则,选择一个并一直使用它。
编辑:只是为了确保你没有重新发明轮子,但是,path
模块已经有join
,split
,dirname
和basename
函数......所以你应该很少需要使用path.sep
:
>>> os.path.join("foo", "bar", "baz")
'foo/bar/baz'
>>> os.path.split(_)
('foo/bar', 'baz')
为了清晰起见,我建议您使用os.path.sep
,因为它是路径分隔符,而不是OS分隔符。如果你import os.path as path
你可以称之为path.sep
,这是更好的。
如果您使用的是Jython 2.7,我建议使用os.sep
(works)而不是os.path.sep
(已损坏),因为Windows上的Jython有一个错误,返回"/"
斜杠而不是所需的"\"
反斜杠。