モジュールを動的に読み取り、そのモジュール内のすべての関数のリストを作成するメソッドを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)
私はこれを正しい方法で行っていますか?(私は基本的に単体テストを作成しています。最初のチェックは、呼び出される引数に関係なく、関数が正しい型のオブジェクトを返すことです。)