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

给定一个诸如"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'

>>> import os
>>> os.path.abspath('mydir/myfile.txt')
'C:examplecwdmydirmyfile.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:Python27pythonw.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

链接地址: http://www.djcxy.com/p/3373.html

上一篇: How to get an absolute file path in Python

下一篇: Getting a list of all subdirectories in the current directory