モジュールをインポートし、モジュールの名前空間を調べて関数を見つけ ( call () メソッドを持つオブジェクトは関数であると想定できます)、関数の名前とその引数を、 def ステートメント。
私の問題は、モジュールをループしてすべての関数を取得した後、文字列であるため関数名を inspect.getfullargspec() に渡すことができないことです。文字列を呼び出し可能にするにはどうすればよいですか?
import inspect
from smtplib import SMTP
from pprint import pprint
def func(x):
for item in inspect.getmembers(x):
lst = inspect.getmembers(x, inspect.isfunction)
for items in lst:
func_names = items[0] #names of functions
f = r"%s.%s" % (x.__name__, func_names)
arg = inspect.getargspec(f)
print(f)
if __name__ == '__main__':
func(SMTP)