提取python方法参数的数量和名称

时间:2009-11-19 04:48:37

标签: python function arguments

如何在不同的模块中返回函数的参数

#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]

1 个答案:

答案 0 :(得分:1)

使用inspect.getargspec进行“重举”(内省功能)。

使用__import__导入模块(鉴于其模块名称 - "functions.py"是一种指定模块名称的可怕方法; - )。

使用getattr(moduleobject, functionname)获取给定模块对象和函数名称的函数对象。