Python 动态载入包


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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值