哪一个我应该使用: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获得。

3 Solutions collect form web for “哪一个我应该使用:os.sep或os.path.sep?”

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

编辑 :只是为了确保你没有重新发明轮子, path模块已经有了joinsplitdirnamebasename函数…所以你应该很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有一个返回“/”斜杠而不是所需的“\”反斜杠的错误。

  • 将string转换为date时间
  • 如何将自定义的日志级别添加到Python的日志logging工具
  • Pip用virtualenv安装Matplotlib错误
  • 为什么1 +++ 2 = 3?
  • 在Python中,<>是什么意思?
  • 重命名字典键
  • 检测列表中的连续整数
  • 为什么pycharmbuild议将方法更改为static
  • 超时python requests.get整个响应
  • 我如何理解Python循环的`else`子句?
  • 如何将pythondate时间转换为可读格式date的string?