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 片段着色器反射纹理查找会减慢我的帧速率?

反射机制

将 OpenGL 片段着色器设置为仅通过漫反射减少 vec4 色点的 RGB 值,而不是 alpha

反射机制入门

反射机制入门

反射机制入门