如何从文件夹中导入模块并将它们添加到 Python 列表中?

How to import modules from a folder and add them into a Python list?

我使用 importlib 模块从插件文件夹中导入了模块:

plugin_files = os.listdir("plugins")
for plugin_file in plugin_files:
   importlib.import_module(plugin_file)

如何将这些模块添加到列表中 plugins = list() 以便当我遍历它们时我可以调用它们共享的函数(接口)?例如:

for plugin in plugins:
   plugin.send_notification()

我试图查看 importlib 模块的文档,但是,我没有看到任何关于分组和列出模块的内容。

我相信这些应该有用。

plugin_files = os.listdir("plugins")
plugins = []
for plugin_file in plugin_files:
    plugins.append(importlib.import_module(plugin_file))

for plugin in plugins:
    plugin.send_notification()

plugins = list(map(importlib.import_module,os.listdir("plugins")))
for plugin in plugins:
    plugin.send_notification()

下面的快速测试:

class test:
    def __init__(self,name):
        self.name = name

plugins = list(map(test,['bob','jim']))

for plugin in plugins:
    print(plugin.name)
bob
jim