使用inspect.getmembers

时间:2012-10-21 02:13:28

标签: python inspect

我正在尝试使用inspect.getmembers检查文件中的类和函数。问题是我不知道如何在不使用inspect.getmembers的情况下将文件名传递给import。那是因为我需要每次都指定一个不同的文件名

代码看起来类似于:

def extractName(self,fileName):

    for name, obj in inspect.getmembers(FileName):
        if inspect.isclass(obj):

            print "this is class",name


    if inspect.isfunction(obj):

        print "this is method",name

1 个答案:

答案 0 :(得分:6)

为了检查模块,必须以某种方式执行它;否则,文件中的定义将不可用。

您可以使用module = __import__(modname)按名称导入模块,或module = imp.load_source("__inspected__", path)按路径导入模块。