2016-08-30 88 views
1

我開發的一種相當深度嵌套的Python模塊,例如庫:Python中的預定義模塊別名?

\MyTools 
    __init__.py 
    \HydroTools 
     __init__.py 
     \bin 
     \Code 
      __init__.py 
      hydro.py 
    \TerraTools 
     __init__.py 
     \bin 
     \Code 
      __init__.py 
      terra.py 

是否有某種方式來定義時間提前模塊別名(可能通過修改初始化的.py?) ,這樣,而不是與...

from MyTools.HydroTools.Code import hydro 
from MyTools.TerraTools.Code import terra 

進口...我可以做一些清潔劑像

from MyTools import hydro, terra 
+2

如果導入'的''MyTools' __init __ py' hydro'和'terra',他們就可以從'MyTools'像你想要的進口。 – FamousJameous

+1

是的,在您的頂層'__init __。py'中,您將在開頭添加您現在使用的確切導入點:'from .MyTools.HydroTools.Code import hydro',那麼它可以從頂層包中獲得。 –

回答

3

您想要將這些嵌套的軟件包放在模塊名稱空間的頂部。

MyTools/__init__.py地址:

from .HydroTools.Code import hydro 
from .TerraTools.Code import terra