importlib可以一次导入多个模块吗?

2 投票
1 回答
1001 浏览
提问于 2025-04-18 10:18

我需要在同一个包里导入两个模块(在运行时确定),我想知道是否可以用一个 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)

为什么多次调用很重要呢?其实不管你用哪种方式导入,内部的实现方式可能都是一个接一个的,都是单独的“调用”。

撰写回答