Python:向系统路径添加一级目录
我已经有了这个问题的解决方案,但我只是想确保它是最优的,并按照我认为的那样去做。我的文件夹结构如下:Python:向系统路径添加一级目录,python,visual-studio-code,path,sys,Python,Visual Studio Code,Path,Sys,我已经有了这个问题的解决方案,但我只是想确保它是最优的,并按照我认为的那样去做。我的文件夹结构如下: Main + data ++ __init__.py ++ get_data.py + work ++ stuff.py get_data.py有一个名为GetData的类,我需要导入该类。我很忙。当我使用: from data.get_data import GetData 它不起作用。所以我这样做了: sys.path.append(".") 如果我这样做,我的代码
Main
+ data
++ __init__.py
++ get_data.py
+ work
++ stuff.py
get_data.py有一个名为GetData的类,我需要导入该类。我很忙。当我使用:
from data.get_data import GetData
它不起作用。所以我这样做了:
sys.path.append(".")
如果我这样做,我的代码就会工作。但是,当我通过以下途径查看路径时,它看起来有点奇怪:
print(sys.path)
我明白了:
['C:\\Main\\Notebooks', '.']
我想我正在做的是将当前的工作目录添加到更高一级的路径。这是有效的。这是正确的吗?是否有更理想的解决方案?您必须在
数据
和工作
目录中添加一个空的\uuu init\uuuuuuuy.py
文件
主要
- 数据
++\uuuu init\uuuuu.py
++获取_data.py - 工作
++\uuuu init\uuuuu.py
++stuff.py
之后,从data.get\u data导入GetData将起作用。您可以尝试在文件开头添加以下语句:
import os,sys
sys.path.append(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
它将需要导入的模块路径添加到系统路径
我这么做了,但忘了把它贴在这里。虽然在Python 3.3+中没有init.py,它仍然可以工作。