Skip to main content
 首页 » 编程设计

python之如何添加获取我使用 from x import * 导入的模块数组

2025年05月04日9小虾米

我有一个目录 plugins 包含我的应用程序的插件,每个插件都是一个 python 文件,其中定义了一个方法 handle。结构如下:

- main.py 
- plugins 
      - hello.py 
      - foo.py 
      - bar.py 
      - ... 

现在我想在 main.py 中导入 plugins 中的所有模块:

从插件导入 *

但是,我想获取模块列表,这样我就可以遍历它,例如:

for plugin in plugin_modules: 
    plugin.handle(data) 

我该怎么做?

请您参考如下方法:

试试 pkgutil:

import os.path, pkgutil 
import mypackage 
 
package = mypackage 
mods = [n for _,n,_ in pkgutil.iter_modules([os.path.dirname(package.__file__)])] 
 
for mod in mods: 
    package.__dict__.get(mod).handle(data)