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