获得对象使用__import__方法
获得对象的属性和方法使用getattr()方法
注意点:
1. 如下例子中, 'home.cates'文件夹下有'LoginError.py'文件, 文件包含class LoginError
使用import 只能引入到文件, 到class级别应该使用getattr,
2.获得类以后, 要创建对象, 在getattr()后再加上(), 如例中的return
3. 比较奇特的一点是不管属性和方法都使用getattr获得, 如果要调用方法, 使用getattr(xx,'method')()
基本上两个函数可以完成对象的反射
'''
查找创建对象
_cls_name='LoginError'
_packet_name = 'home.cates.'
'''
def get_cate_obj(_cls_name):
_packet_name = 'home.cates.'+_cls_name
_module_home = __import__(_packet_name,globals(),locals(),[_cls_name])
obj = getattr(_module_home,_cls_name)
return obj()
http://blog.youkuaiyun.com/lokibalder/article/details/3459722