给定一个像"mydir/myfile.txt"
这样的路径,我如何在Python中找到文件相对于当前工作目录的绝对路径?例如,在Windows上,我可能会得到以下结果:
"C:/example/cwd/mydir/myfile.txt"
发布于 2008-09-09 10:21:04
>>> 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'
发布于 2014-10-24 09:05:02
您可以使用新的Python3.4库pathlib
。(对于Python2.6或2.7,您也可以使用pip install pathlib
获取它。)作者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'
发布于 2008-09-12 06:53:26
安装第三方path module (可以在PyPI
上找到),它将所有os.path
函数和其他相关函数封装到一个对象上的方法中,该对象可以在使用字符串的任何地方使用:
>>> from path import path
>>> path('mydir/myfile.txt').abspath()
'C:\\example\\cwd\\mydir\\myfile.txt'
https://stackoverflow.com/questions/51520
复制相似问题