如何在Python中获取当前.py文件所在目录的上一级目录路径?

3

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

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


https://dev59.com/V3A75IYBdhLWcg3wMl4Z - apomene
3个回答

4

使用os模块:

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

1
在Python 3中:
from pathlib import Path

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

0
为了获取当前目录的路径,您可以使用:
import os
print os.path.realpath('.')

因为 . 代表文件系统中的当前目录。所以要获取更高级别目录的路径,只需用代表父目录的 .. 替换 .

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

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

这样做会不会返回上一级目录?如果父目录嵌套了3或4层,会怎么样? - apomene
在这种情况下,我们仍然可以使用常规的Unix或Windows路径遍历。只需使用../..来指向一个目录的路径,即两级更高的位置。 - anirudh
OP并不要求当前目录 - 他想要当前执行文件的父级的父级 - 使用“。”或cwd无法实现这一点。 - Tony Suffolk 66

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接