如何在 Python 中获取父目录?

新手上路,请多包涵

有人能告诉我如何以跨平台的方式在 Python 中获取路径的父目录吗?例如

C:\Program Files ---> C:\

C:\ ---> C:\

如果目录没有父目录,则返回目录本身。这个问题可能看起来很简单,但我无法通过谷歌将其挖掘出来。

原文由 Mridang Agarwalla 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 286
2 个回答

Python 3.4

使用 pathlib 模块。

 from pathlib import Path
path = Path("/here/your/path/file.txt")
print(path.parent.absolute())

旧答案

试试这个:

 import os
print os.path.abspath(os.path.join(yourpath, os.pardir))

其中 yourpath 是您想要父级的路径。

原文由 kender 发布,翻译遵循 CC BY-SA 4.0 许可协议

使用 os.path.dirname

 >>> os.path.dirname(r'C:\Program Files')
'C:\\'
>>> os.path.dirname('C:\\')
'C:\\'
>>>

警告: os.path.dirname() 根据路径中是否包含尾部斜杠给出不同的结果。这可能是也可能不是您想要的语义。比照。 @kender 的回答使用 os.path.join(yourpath, os.pardir)

原文由 Wai Yip Tung 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏