如何在 Python 中获取绝对文件路径

新手上路,请多包涵

给定一个路径,如 "mydir/myfile.txt" ,我如何在 Python 中找到文件的绝对路径?例如在 Windows 上,我可能会得到:

 "C:/example/cwd/mydir/myfile.txt"

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

阅读 845
2 个回答
>>> import os
>>> os.path.abspath("mydir/myfile.txt")
'C:/example/cwd/mydir/myfile.txt'

如果它已经是绝对路径也可以:

 >>> import os
>>> os.path.abspath("C:/example/cwd/mydir/myfile.txt")
'C:/example/cwd/mydir/myfile.txt'

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

您可以使用新的 Python 3.4 库 pathlib 。 (您也可以使用 pip install pathlib 为 Python 2.6 或 2.7 获取它。)作者 写道:“这个库的目的是提供一个简单的类层次结构来处理文件系统路径和用户执行的常见操作他们。”

要在 Windows 中获取绝对路径:

 >>> from pathlib import Path
>>> p = Path("pythonw.exe").resolve()
>>> p
WindowsPath('C:/Python27/pythonw.exe')
>>> str(p)
'C:\\Python27\\pythonw.exe'

或者在 UNIX 上:

 >>> from pathlib import Path
>>> p = Path("python3.4").resolve()
>>> p
PosixPath('/opt/python3/bin/python3.4')
>>> str(p)
'/opt/python3/bin/python3.4'

文档在这里: https ://docs.python.org/3/library/pathlib.html

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

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