Python: 将目录添加到系统路径上一级

Python: Adding Directory One Level Up to System Path

我已经有了这个问题的解决方案,但只是想确保它是最佳解决方案并按我的想法行事。我有这样的文件夹结构:

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

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

from data.get_data import GetData

它不起作用。所以我这样做了:

sys.path.append(".")

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

print(sys.path)

我明白了:

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

我想我正在做的是获取当前工作目录并将该路径附加到更高一级。这行得通。这个对吗?有没有更优的方案?

您必须在 datawork 目录中添加一个空 __init__.py 文件。

主要

  • 数据
    ++ __init__.py
    ++ get_data.py
  • 工作
    ++ __init__.py
    ++ stuff.py

在那之后 from data.get_data import GetData 会起作用。

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

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

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