如何在不同的模块中返回函数的参数
#Module: functionss.py
def simple(a, b, c):
print "does something"
#Module: extract.py
#load the called module and function
def get_args(module_name, function_name):
modFile, modPath, modDesc = imp.find_module(module_name)
mod = imp.load_module(module_name,modFile,modPath,modDesc)
attr = getattr(mod, function_name)
#this is the part I don't get - how do I read the arguments
return = attr.get_the_args()
if __name__ == "__main__":
print get_args("functions.py", "simple")
#this would ideally print [a, b, c]
答案 0 :(得分:1)
使用inspect.getargspec进行“重举”(内省功能)。
使用__import__
导入模块(鉴于其模块名称 - "functions.py"
是一种指定模块名称的可怕方法; - )。
使用getattr(moduleobject, functionname)
获取给定模块对象和函数名称的函数对象。