I have this structure:
.
└── module
├── __init__.py
└── submodule
├── __init__.py
├── foo.py
└── bar.py
在
module.submodule.__init__.py
文件中,我有以下内容:import foo
import bar
在
module.submodule.foo.py
中,我有这样一个代码块:import very_heavy_third_party_module as vhtpm
...
我只想导入
bar
,但是我被foo
拖慢了(假设foo
和module/__init__.py
中都有一个丑陋的time.sleep(3)
)。因此,我的目标是在不受模块其他部分影响的情况下编写以下内容:
from module.submodule.bar import saybar
saybar()
我该如何仅导入位于我的子模块bar
中的saybar
?
from datetime import datetime.now
吗? - nowox__init__.py
文件中导入了所有子模块,那么你总是会导入所有的子模块,而且你无法避免这种情况。要解决这个问题:避免将导入语句放在__init__.py
中,或者只导入那些速度较快的模块,不导入耗时的模块。 - Bakuriu