猿问

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', '.']

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


MM们
浏览 179回答 2
2回答

凤凰求蛊

您可以尝试在文件开头添加以下语句: import os,sys   sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))它将需要导入的模块的路径添加到系统路径中。

互换的青春

您必须在您的目录中添加一个空__init__.py文件。datawork主要的数据++ __init__.py++ get_data.py工作++ __init__.py++ stuff.py之后就from data.get_data import GetData可以了。
随时随地看视频慕课网APP

相关分类

Python
我要回答