python中反射用法实例


Posted in Python onMarch 27, 2015

本文实例讲述了python中反射用法。分享给大家供大家参考。具体如下:

import sys, types,new
def _get_mod(modulePath):
  try:
    aMod = sys.modules[modulePath]
    if not isinstance(aMod, types.ModuleType):
      raise KeyError
  except KeyError:
    # The last [''] is very important!
    aMod = __import__(modulePath, globals(), locals(), [''])
    sys.modules[modulePath] = aMod
  return aMod
def _get_func(fullFuncName):
  """Retrieve a function object from a full dotted-package name."""
  # Parse out the path, module, and function
  lastDot = fullFuncName.rfind(u".")
  funcName = fullFuncName[lastDot + 1:]
  modPath = fullFuncName[:lastDot]
  aMod = _get_mod(modPath)
  aFunc = getattr(aMod, funcName)
  # Assert that the function is a *callable* attribute.
  assert callable(aFunc), u"%s is not callable." % fullFuncName
  # Return a reference to the function itself,
  # not the results of the function.
  return aFunc
def _get_Class(fullClassName, parentClass=None):
  """Load a module and retrieve a class (NOT an instance).
  If the parentClass is supplied, className must be of parentClass
  or a subclass of parentClass (or None is returned).
  """
  aClass = _get_func(fullClassName)
  # Assert that the class is a subclass of parentClass.
  if parentClass is not None:
    if not issubclass(aClass, parentClass):
      raise TypeError(u"%s is not a subclass of %s" %
              (fullClassName, parentClass))
  # Return a reference to the class itself, not an instantiated object.
  return aClass
def applyFuc(obj,strFunc,arrArgs):
  objFunc = getattr(obj, strFunc)
  return apply(objFunc,arrArgs)
def getObject(fullClassName):
  clazz = _get_Class(fullClassName)
  return clazz()
if __name__=='__main__':
  aa=getObject("inetservices.services.company.Company")  
  bb=applyFuc(aa, "select", ['select * from ngsys2',None])
  print bb

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
举例介绍Python中的25个隐藏特性
Mar 30 Python
python3实现读取chrome浏览器cookie
Jun 19 Python
Python温度转换实例分析
Jan 17 Python
Python线程下使用锁的技巧分享
Sep 13 Python
对python遍历文件夹中的所有jpg文件的实例详解
Dec 08 Python
python将txt文档每行内容循环插入数据库的方法
Dec 28 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
python实现批量文件重命名
Oct 31 Python
python小项目之五子棋游戏
Dec 26 Python
python递归调用中的坑:打印有值, 返回却None
Mar 16 Python
python实现学生信息管理系统源码
Feb 22 Python
Python中使用摄像头实现简单的延时摄影技术
Mar 27 #Python
python根据出生日期返回年龄的方法
Mar 26 #Python
python获取远程图片大小和尺寸的方法
Mar 26 #Python
python使用cStringIO实现临时内存文件访问的方法
Mar 26 #Python
python使用pil生成缩略图的方法
Mar 26 #Python
python实现基于两张图片生成圆角图标效果的方法
Mar 26 #Python
python正则表达式match和search用法实例
Mar 26 #Python
You might like
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
一个显示某段时间内每个月的方法 返回由这些月份组成的数组
2012/05/16 PHP
ThinkPHP的I方法使用详解
2014/06/18 PHP
PHP抽奖算法程序代码分享
2015/10/08 PHP
jQuery getJSON()+.ashx 实现分页(改进版)
2013/03/28 Javascript
jQuery基于ajax实现星星评论代码
2015/08/07 Javascript
基于javascript实现图片预加载
2016/01/05 Javascript
轻松玩转BootstrapTable(后端使用SpringMVC+Hibernate)
2017/09/06 Javascript
解读vue生成的文件目录结构及说明
2017/11/27 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
ionic2.0双击返回键退出应用
2019/09/17 Javascript
JS实现拼图游戏
2021/01/29 Javascript
jQuery 淡入/淡出效果函数用法分析
2020/05/19 jQuery
JavaScript组合设计模式--改进引入案例分析
2020/05/23 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
numpy数组拼接简单示例
2017/12/15 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
对python中for、if、while的区别与比较方法
2018/06/25 Python
python3.6数独问题的解决
2019/01/21 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
Python 调用 Windows API COM 新法
2019/08/22 Python
python怎么判断模块安装完成
2020/06/19 Python
Windows下PyCharm配置Anaconda环境(超详细教程)
2020/07/31 Python
html5 video全屏播放/自动播放的实现示例
2020/08/06 HTML / CSS
软件测试工程师结构化面试题库
2016/11/23 面试题
管理站站长岗位职责
2013/11/27 职场文书
经理秘书找工作求职信
2013/12/19 职场文书
五年级科学教学反思
2014/02/05 职场文书
安全生产专项整治方案
2014/05/06 职场文书
答谢会策划方案
2014/05/12 职场文书
监察建议书格式
2014/05/19 职场文书
事业单位考察材料范文
2014/12/25 职场文书
上班旷工检讨书
2015/08/15 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python