我正在寻找一种方法来将函数的参数放入包含其名称的dict中,默认值为any。
我已经看到inspect
模块有一个getcallargs
函数,但它可以引发异常,并且如果被检查函数需要,则需要提供参数。我正在寻找能够在不事先了解函数的情况下访问此结果的内容。
这必须与python 2.7兼容。
def a_function_somewhere(arg1, arg2=None, arg3=12):
pass
r = the_function_i_m_looking_for(a_function_somewhere)
# Expected r {'arg1': Special.NoDefaultValue, 'arg2': None, 'arg3': 12}
>>> inspect.getargspec(a_function_somewhere)
ArgSpec(args=['arg1', 'arg2', 'arg3'],
varargs=None, keywords=None, defaults=(None, 12))