importlib可以一次导入多个模块吗?
我需要在同一个包里导入两个模块(在运行时确定),我想知道是否可以用一个 import_module
命令来完成。
简单来说,我想要的效果是:
from some_package import module1, module2
我可以这样做:
- 每个模块调用一次
import_module
- 让
__init__.py
导入这两个模块,然后再导入整个包 - 使用
__import__
,但这个方法不使用importlib
,而且文档里不推荐这样做。
可能还有更多的方法可以做到这一点。有没有办法用一次 import_module
来实现?如果不行,有没有被认为是标准的方法?
1 个回答
2
一次调用?可能不行。不过你可以这样做:
for module in modules:
importlib.import_module(module)
或者:
map(importlib.import_module, module)
为什么多次调用很重要呢?其实不管你用哪种方式导入,内部的实现方式可能都是一个接一个的,都是单独的“调用”。