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

2024-05-01 21:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

给定一个路径,比如"mydir/myfile.txt",如何在Python中找到文件相对于当前工作目录的绝对路径?E、 g.在Windows上,我可能会得到:

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

Tags: 文件路径目录txtexamplewindowsmyfilemydir
3条回答

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

要在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

更好的方法是,安装模块(可以在^{}上找到),它将所有os.path函数和其他相关函数包装到对象的方法中,这些方法可以在使用字符串的任何地方使用:

>>> from path import path
>>> path('mydir/myfile.txt').abspath()
'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'

相关问题 更多 >