python的反射
Posted 北京流浪儿
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python的反射相关的知识,希望对你有一定的参考价值。
目前大多数网站都是通过路由的方法来,处理url请求,如果有很多个url的话,不停的include或者用if判断匹配,似乎不太符合情理,因此这里讲讲python的反射机制,
自动装在模块。请看下面的实例:
在目录
/myspace/mywork/python/reflect
有两个文件
index.py
account.py
account.py内容
#encoding=utf-8 def login(uname): print ‘恭喜你登录成功‘+uname
index.py内容
#encoding=utf-8 try: log_space = __import__(‘account‘) #导入模块名称 func = getattr(log_space,‘login‘) #导入方法 func(‘hello world‘) except (ImportError,AttributeError),e: print ‘跳转到404页面‘
如果是要加载文件夹里面的内容
#encoding=utf-8 data = raw_input(‘接收输入地址‘) array = data.split(‘/‘) try: userspace = __import__(‘account.‘ + array[0]) #如果是account文件夹 model = getattr(userspace,array[0]) #需要再导入一次 func = getattr(model,array[1]) func() except ImportError,e: print 1,e print ‘找不到模块,跳转到404页面‘ except AttributeError,e: print 2,e print ‘找不到属性,跳转到404页面‘ except Exception,e: print 3,e print ‘未知的错误‘ else: print ‘没有出错执行‘ finally: print ‘无论出错与否都执行‘
以上是关于python的反射的主要内容,如果未能解决你的问题,请参考以下文章
为啥我的 Ray March 片段着色器反射纹理查找会减慢我的帧速率?