这是我的文件夹结构:
lib\
pt_hil\
utilities\
PT_HILdSPACE_Utils\
exception\
__init__.py --> has "class SimulatorException(Exception):"
pythonScript.py
我在PyCharm的“lib”文件夹中打开了项目。在“pythonScript.py”脚本中,当我尝试通过执行以下操作导入SimulatorException:
from pt_hil.utilities.PT_HIL_dSPACE_Utils.exception import SimulatorException
它不起作用。但是,如果我这样做:
from exception import SimulatorException
有效。根目录不应该来自lib文件夹吗?当我查看设置时,内容根目录设置为lib文件夹。
答案 0 :(得分:1)
__init__.py
文件的目的之一是将目录标记为可以import
的有效Python包。
您只将exception
文件夹声明为有效的Python包,因此您可以开始从中导入。
您可以通过将空__init__.py
个文件添加到您拥有的每个顶级文件夹来创建顶级包,然后可以按原来的方式导入,或保留当前结构并直接从{{导入1}}包。