首页 > 解决方案 > Python:将目录添加到系统路径的上一级

问题描述

我已经有了解决这个问题的方法,但只是想确保它是最佳的,并做我认为它正在做的事情。我有一个这样的文件夹结构:

Main
+ data
++ __init__.py
++ get_data.py
+ work
++ stuff.py

get_data.py 有一个我需要导入的名为 GetData 的类。我在 stuff.py 中。当我使用:

from data.get_data import GetData

这没用。所以我这样做了:

sys.path.append(".")

如果我这样做,我的代码就可以工作。但是,当我通过以下方式查看路径时,它看起来有点奇怪:

print(sys.path)

我明白了:

['C:\\Main\\Notebooks', '.']

我认为我正在做的是获取当前工作目录并将该路径附加到更高级别。这有效。这个对吗?有没有更优化的解决方案?

标签: pythonvisual-studio-codepathsys

解决方案


您可以尝试在文件开头添加以下语句:

 import os,sys 
 sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))

它将需要导入的模块的路径添加到系统路径中。

在此处输入图像描述


推荐阅读