如何在python中获取当前.py文件的更高级别目录的路径?

How can I get the path of the higher level directory of the current .py file in python?

假设有这样的目录层次结构:.../A/B/main.py

main.py是正在执行的文件,我需要得到A文件夹的完整路径,我该怎么做?


使用os模块:

1
2
import os
a_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

要获取当前目录的路径,可以使用:

1
2
import os
print os.path.realpath('.')

因为.代表文件系统中的当前目录。因此,为了获得更高级别目录的路径,只需用表示父目录的..替换.

1
2
import os
print os.path.realpath('..')

您还可以使用os.getcwd()方法获取当前工作目录,然后使用..表示获取其父目录。


在Python 3中:

1
2
3
4
from pathlib import Path

mypath = Path().absolute().parent.parent  # each '.parent' goes one level up - vary as required
print(mypath)