我正在尝试使用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
答案 0 :(得分:6)
为了检查模块,必须以某种方式执行它;否则,文件中的定义将不可用。
您可以使用module = __import__(modname)
按名称导入模块,或module = imp.load_source("__inspected__", path)
按路径导入模块。