首页 > 编程语言 > 详细

python的反射

时间:2016-06-13 09:57:35      阅读:246      评论:0      收藏:0      [点我收藏+]

目前大多数网站都是通过路由的方法来,处理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的反射

原文:http://www.cnblogs.com/gide/p/5579583.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!