2017-07-27 117 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包保持目前的結構和導入創建頂級包。