gpt4 book ai didi

python - 将目录中的所有文件作为模块导入,并调用类方法

转载 作者:太空宇宙 更新时间:2023-11-04 03:34:52 24 4
gpt4 key购买 nike

我有一个模块,其子目录中包含信号处理器。我想设置一些东西,以便主文件(在该子目录之上)可以导入子目录中的所有 python 文件,并在其中调用一个已知函数。这样输入信号就可以通过该目录中的每个信号处理器运行。在 Python 中是否有一种干净的方法来执行此操作?

最佳答案

假设文件树是:

main.py
processors/
processors/proc1.py
processors/proc1.py

并且每个 proc 模块都有一个方法:

def process():
# Do something

然后您可以使用 main.py 中的以下代码:

import pkgutil
import processors

if __name__ == '__main__':
modules = []
for loader, name, is_pkg in pkgutil.walk_packages(processors.__path__):
modules.append(loader.find_module(name).load_module(name))

# Later in the code when processing is required:
for module in modules:
module.process()

此代码缺少输入检查,例如每个模块都有 process() 方法。

关于python - 将目录中的所有文件作为模块导入,并调用类方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29593333/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com