我想在 python 中编写一个动态读取模块并创建该模块中所有函数的列表的方法。然后我想遍历这个列表并调用每个函数。到目前为止,我有以下代码:
import mymodule
from inspect import getmembers, isfunction
def call_the_functions():
functions_list = [f for f in getmembers(mymodule) if isfunction(f[1])]
for f in functions_list:
result = f()
我的问题是我的程序崩溃了,因为某些函数需要参数。我想做类似以下的事情,但不知道如何:
for f in functions_list:
args = [""] * f.expectedNumberOfArguments()
result = f(*args)
我会以正确的方式解决这个问题吗?(我基本上是在写一个单元测试,第一个检查就是函数返回一个正确类型的对象,不管它们被调用的参数是什么。)