给定诸如"mydir/myfile.txt"
类的路径,我如何找到相对于 Python 中当前工作目录的文件绝对路径?例如,在 Windows 上,我可能最终得到:
"C:/example/cwd/mydir/myfile.txt"
>>> 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'
您可以使用新的 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'