2017-07-27 120 views
1

从根目录中导入Python模块这里是我的文件夹结构:有麻烦PyCharm

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文件夹。

回答

1

__init__.py文件的目的之一是将目录标记为有效的Python包,您可以将其标记为import

您只声明exception文件夹是一个有效的Python包,因此这是您可以从中开始导入的根包。

这是不是你加入空__init__.py文件到您的每个顶层文件夹,然后可以导入你本来想,或直接从exception包保持目前的结构和导入创建顶级包。