web.py能条件判断的页面执行计时方法
玩蛇网之前有贴出过关于web.py 的页面执行计时的网友分享贴。那是用Python的装饰器实的web.py页面执行计时方法(页脚的 html注释显示执行时间)需要执行计时的位置还要加个装饰器,那样操作是比较麻烦的。
这次网友提供的是web.py能条件判断的页面执行计时方法,这次会自己判断是否是html或xml。如果满足条件就执行添加计时操作;否则就仅仅把耗时记录在context里面。
实现计时的中间件代码:
def timespent_processor(handler): starttime = time.time() result = handler() web.ctx.timespent = timespent = time.time() - starttime content_type = dict(web.ctx.headers).get("Content-Type") xml_types = ("text/html", "application/xhtml+xml", "application/xml") if content_type in xml_types: result += "\n<!-- %d ms -->" % (timespent * 1000) return result application.add_processor(timespent_processor)
完整测试python源码
#!/usr/bin/env python #-*- coding:utf-8 -*- import time import json import web # ---------- # Processors # ---------- def timespent_processor(handler): starttime = time.time() result = handler() web.ctx.timespent = timespent = time.time() - starttime content_type = dict(web.ctx.headers).get("Content-Type") xml_types = ("text/html", "application/xhtml+xml", "application/xml") if content_type in xml_types: result += "\n<!-- %d ms -->" % (timespent * 1000) return result # ----------- # Application # ----------- urls = ("/", "Home", "/json/", "Json") application = web.application(urls, globals()) application.add_processor(timespent_processor) # ----------- # Controllers # ----------- class Home(object): def GET(self): web.header("Content-Type", "text/html") return "<h1>Hello, World</h1>" class Json(object): def GET(self): web.header("Content-Type", "application/json") return {'title': "Hello, World"} # ------ # Runner # ------ if __name__ == "__main__": application.run()
python 计时方法相关文章推荐:
Python datetime计时程序的实现方法
web.py页面执行计时,Python装饰器实现方法
玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/code/scripts-shell/ss2339.html
相关文章 Recommend
- • 求更好的python 字典满足条件值的相加方法
- • 为什么我的web.pydb.select返回的数据只能遍历一次
- • 请教web.py服务器端接收到的上传文件名出现乱码
- • 关于web.py性能优化方法大家闲聊讨论下
- • web.py在note页面中应该如何接收值的传入
- • python哪种方法可以实现同php中__call函数一样的功
- • python print后出现...不能正常输出是什么原因
- • 怎么能保证python抓取页百标题的正确率
- • 自定义form表单如何能让内容全显示在一行上
- • python什么方法能把../这样的网址转换成真实地址
- • 请问APNS推送消息条数有什么限制?最大一次能发多
- • Flask多个视图函数需要用户登录才能指向统一控制
我要分享到:
必知PYTHON教程 Must Know PYTHON Tutorials
- • python 解释器
- • python idle
- • python dir函数
- • python 数据类型
- • python type函数
- • python 字符串
- • python 整型数字
- • python 列表
- • python 元组
- • python 字典
- • python 集合
- • python 变量
- • python print
- • python 函数
- • python 类定义
- • python import
- • python help
- • python open
- • python 异常处理
- • python 注释
- • python continue
- • python pass
- • python return
- • python global
- • python assert
- • python if语句
- • python break
- • python for循环
- • python while循环
- • python else/elif
- • lambda匿名函数
必知PYTHON模块 Must Know PYTHON Modules
- • os 模块
- • sys 模块
- • re 正则表达式
- • time 日期时间
- • pickle 持久化
- • random 随机
- • csv 模块
- • logging 日志
- • socket网络通信
- • json模块
- • urlparse 解析URL
- • urllib 模块
- • urllib2 模块
- • robotparser 解析
- • Cookie 模块
- • smtplib 邮件
- • Base64 编码
- • xmlrpclib客户端
- • string 文本
- • Queue 线程安全
- • math数学计算
- • linecache缓存
- • threading多线程
- • sqlite3数据库
- • gzip压缩解压
最新内容 NEWS
- • 绑定修改网卡绑定关系的python程序
- • 网友用python把IPv4地址变成LITNET-NAT64网段
- • 基于python Selenium的用户登录自动化测试
- • 用python代码科学上Google
- • python论坛自动签到用bs4模块
- • python北京地铁月支出简易计算器
- • 用python查找未注册的域名
- • Windows环境用Python备份MySQL脚本
- • 批量调整图片尺寸的python脚本
- • Python方法获取百度地图数据示例源码
图文精华 RECOMMEND
-
用python代码科学上Google
-
Windows环境用Python备份MySQL脚本
-
批量调整图片尺寸的python脚本
-
Python方法获取百度地图数据示例源
-
控制台进度自动刷新python方法源码
-
web.py能条件判断的页面执行计时方
热点文章 HOT
- web.py能条件判断的页面执行计时方法
- Windows环境用Python备份MySQL脚本
- 从糗事百科下载数据的python方法示例
- 基于python Selenium的用户登录自动化测试
- 解决Python2不支持datetime的json encode问题
- Python完成抓取并写入mysql库的方法
- 一个初学者练手的Python多线程实现下载的
- Python调chrome刷页面完成刷点击量操作