从具有结束斜杠的路径中提取目录

时间:2015-07-07 16:07:18

标签: python

从带有结尾斜杠的路径中提取目录的优雅方法是什么?

例如

/foo/bar/test/

我希望test

如果没有结尾os.path.basename,我可以/

我是下一个做以下事情的最佳选择:

  if directory[:-1] == '/':
    basename = os.path.basename(directory[:-1])
  else:
    basename = os.path.basename(directory)

因为这可能不是os不可知或非常干净。

1 个答案:

答案 0 :(得分:10)

致电os.path.abspath会为您解决此问题:

>>> import os
>>> os.path.abspath('/foo/bar/test/')
'/foo/bar/test'
>>> os.path.abspath('/foo/bar/test')
'/foo/bar/test'
>>> 

所以:

>>> os.path.basename(os.path.abspath('/foo/bar/test/'))
'test'