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中操作时间之tzset()方法的使用教程
May 22 Python
一键搞定python连接mysql驱动有关问题(windows版本)
Apr 23 Python
Python实现全角半角字符互转的方法
Nov 28 Python
Python 爬虫图片简单实现
Jun 01 Python
Python SqlAlchemy动态添加数据表字段实例解析
Feb 07 Python
对python3新增的byte类型详解
Dec 04 Python
python 实现视频流下载保存MP4的方法
Jan 09 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
Feb 19 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
基于Python脚本实现邮件报警功能
May 20 Python
Python中无限循环需要什么条件
May 27 Python
python 获取谷歌浏览器保存的密码
Jan 06 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
php 数学运算验证码实现代码
2009/10/11 PHP
PHP使用内置函数生成图片的方法详解
2016/05/09 PHP
PHP实现一个轻量级容器的方法
2019/01/28 PHP
PHP判断一个变量是否为整数、正整数的方法示例
2019/09/11 PHP
40款非常有用的 jQuery 插件推荐(系列一)
2011/12/21 Javascript
jquery iframe操作详细解析
2013/11/20 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
jQuery UI结合Ajax创建可定制的Web界面
2016/06/22 Javascript
javascript监听页面刷新和页面关闭事件方法详解
2017/01/09 Javascript
详解webpack2+React 实例demo
2017/09/11 Javascript
Vue表单输入绑定的示例代码
2018/11/01 Javascript
微信小程序实现简单评论功能
2018/11/28 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
JavaScript/TypeScript 实现并发请求控制的示例代码
2021/01/18 Javascript
[50:24]VGJ.S vs Pain 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
Python开发中爬虫使用代理proxy抓取网页的方法示例
2017/09/26 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
Numpy数组的保存与读取方法
2018/04/04 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
Python用for循环实现九九乘法表
2018/05/31 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
浅谈keras的深度模型训练过程及结果记录方式
2020/01/24 Python
使用Python发现隐藏的wifi
2020/03/04 Python
Python获取浏览器窗口句柄过程解析
2020/07/25 Python
CSS3属性box-shadow使用详细教程
2012/01/21 HTML / CSS
福克斯租车:Fox Rent A Car
2017/04/13 全球购物
《问银河》教学反思
2014/02/19 职场文书
英语专业职业生涯规划范文
2014/03/05 职场文书
教师对学生的寄语
2014/04/03 职场文书
网站推广策划方案
2014/06/04 职场文书
2014院党委领导班子及其成员群众路线对照检查材料思想汇报
2014/10/04 职场文书
2015年保送生自荐信
2015/03/24 职场文书
2016干部作风整顿心得体会
2016/01/22 职场文书
redis实现排行榜功能
2021/05/24 Redis
小程序实现悬浮按钮的全过程记录
2021/10/16 HTML / CSS