大约25%的代码依赖于模块:Traits、tvtk、。。。进口相当重。在我的机器上通常需要2秒的时间(在其他机器上则需要更长时间)。在
我的模块组织如下
mainmodule
|--submodule1
|--submodule2
|--subsubmodule1
|--subsubmodule2
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2
其中,子模块1和子模块2使用特征。这意味着75%的时间,如果我调用import mainmodule,我将不得不等待重模块被导入,但之后它们将不被使用。在
我如何组织我的进口,以便缩短进口时间?在
也许有一种方法可以做到:
^{pr2}$并且拥有
mainmodule
|--submodule3
|--submodule4
|--subsubmodule1
|--subsubmodule2
只打电话给:
import mainmodule.heavy
拥有一切
听起来您想要的是一种方法,这样导入},这两个操作需要很长时间才能加载。在
mainmodule
不会自动导入submodule1
和{实际上,这很简单。只能在需要的函数中导入
submodule1
和submodule2
。或者将这些函数移动到名为mainmodule_heavy.py
的单独模块中。在(或者你可以hack the Python module system to load modules lazily。但这种黑客攻击往往会带来问题,对你的案子来说,这听起来是不必要的。)
您可以在函数/模块:-在
实际上,这在同一个程序中是行不通的,因为函数不能被导入。另外,您需要检查全局参数中的字符串,而不是模块本身。所以,取而代之的是:在
^{pr2}$相关问题 更多 >
编程相关推荐