Python中的反射
使用参数形式动态导入模块和调用函数
module = __import__(module_name)
# 等同于 import module_name as module
__import__(module_path,fromlist=True) #module_path: 'dir1.dir2[.dir3...].module_name'
variable = getattr(module, member)
#getattr():在module模块(对象)中调用模块里的成员member。可以设置第三个参数,如果member不存在则返回设置的第三个参数(参数可以是函数名,这个函数必须存在),否则报错
hasattr(module,member)
#判断成员member是否存在于module模块中,返回布尔值
setattr(module,member,value)
#在内存中给module模块设置成员member
delattr(module, member)
#在内存中删除对象里的成员member