def get_plugin_by_name(self, package, clazz_name): """ package 类所在路径 clazz_name 类名 http://stackoverflow.com/questions/547829/how-to-dynamically-load-a-python-class https://docs.python.org/2/library/functions.html?highlight=__import__#__import__ :param package: :param clazz_name: :return: """ try: plugin_name = clazz_name.capitalize() + 'Plugin' module = __import__(package + '.' + clazz_name, fromlist=[plugin_name]) claz = getattr(module, plugin_name) return claz(region_id=self.get_current_region_id(), access_key=self.aliyun_access_key) except Exception as exp: LOG.error("Get plugin: %s by package: %s error for %s" % (clazz_name, package, exp,))
via http://wangyuelucky.blog.51cto.com/1011508/1751969
#getMod("xx.xx.cc","class_in_cc")
def getMod(self, name, classname): m = __import__(name, globals(), locals(), [classname]) c = getattr(m, classname) return c

5063

被折叠的 条评论
为什么被折叠?



