如何从不同的模块检查和调用Python的__main__模块中的函数

问题描述 投票:0回答:1
在Python中,模块中的函数是否可以检查

__main__

中的函数列表,然后执行与模式匹配的函数?

例如,我可以编写一个包含函数

run_all_auto

 的模块,该模块将检查 
__main__
 中的函数列表,然后调用以 
auto_
 开头的所有函数吗?

是的,我知道如果我将我的

auto_

 函数放在一个类中,这个任务会更容易/更好;但是,我只是好奇是否可以在不以某种方式“捆绑”它们的情况下做到这一点。

我发现我可以添加一个参数并执行类似

my_module.run_all_auto(dir())

 的操作;但这只提供了函数名称列表,我不知道如何调用任何函数。

python reflection
1个回答
1
投票
是的,您可以使用以下方法在任何地方(甚至在

__main__

 模块本身内)将其作为模块对象访问:

sys.modules["__main__"]
    
© www.soinside.com 2019 - 2024. All rights reserved.