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

如何在python中获取当前.py文件的更高级别目录的路径?,python,Python,假设有这样一个目录层次结构:../a/B/main.py main.py是正在执行的文件,我需要获取文件夹A的完整路径,如何才能做到这一点?要获取当前目录的路径,可以使用: import os print os.path.realpath('.') 因为表示文件系统中的当前目录。因此,要获取更高级别目录的路径,只需将替换为。,它表示父目录 import os print os.path.realpath('..') 您还可以使用os.getcwd()方法获取当前工作目录,然后使用表示获取其父

假设有这样一个目录层次结构:
../a/B/main.py


main.py
是正在执行的文件,我需要获取文件夹
A
的完整路径,如何才能做到这一点?

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

import os
print os.path.realpath('.')
因为
表示文件系统中的当前目录。因此,要获取更高级别目录的路径,只需将
替换为
,它表示父目录

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

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

使用
os
模块:

import os
a_path = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
在Python 3中:

from pathlib import Path

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

这难道不会让dir更高一级吗?如果父级的深度为3或4级呢?在这种情况下,我们仍然可以使用普通的unix或windows路径遍历。只需对目录路径使用“....”,更高两级。OP不要求当前目录-他想要当前执行文件的父目录-使用“.”或cwd不会这样做。