Python中统计函数运行耗时的方法
本文实例讲述了Python中统计函数运行耗时的方法。分享给大家供大家参考。具体实现方法如下:
import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的耗时。 #用来分析脚本的性能是最好不过了。 #这样用: @time_me def test(x, y): time.sleep(0.1) @time_me def test2(x): time.sleep(0.2) test(1, 2) test2(2) #输出: #test cost 0.1001529524 second #test2 cost 0.199968431742 second
另一个更高级一点的版本是:
import time import functools def time_me(info="used"): def _time_me(fn): @functools.wraps(fn) def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s %s %s"%(fn.__name__, info, time.clock() - start), "second" return _wrapper return _time_me @time_me() def test(x, y): time.sleep(0.1) @time_me("cost") def test2(x): time.sleep(0.2) test(1, 2) test2(2)
希望本文所述对大家的Python程序设计有所帮助。
相关推荐
-
Python3读取UTF-8文件及统计文件行数的方法
本文实例讲述了Python3读取UTF-8文件及统计文件行数的方法.分享给大家供大家参考.具体实现方法如下: ''''' Created on Dec 21, 2012 Python 读取UTF-8文件 统计文件的行数目 @author: liury_lab ''' # -*- coding: utf-8 -*- import codecs # 对较小的文件,最简单的方法是将文件读入一个行列表中, # 然后计算列表的长度即可 count = len(codecs.open('d:/FreakOu
-
Python实现统计代码行的方法分析
本文实例讲述了Python实现统计代码行的方法.分享给大家供大家参考,具体如下: 参加光荣之路测试开发班已三月有余,吴总上课也总问" 咱们的课上了这么多次了大家实践了多少行代码了?".这里是一个一脸懵逼的表情.该怎么统计呢?一个个文件数当然不可取,能用代码解决的事咱们坚决不动手.最近在网上刷题时也正好遇到有这么一道题,所以决定撸一撸. 题目:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 首先分析一下思路捋一下大象装冰箱的步骤,从一个给定
-
Python实现对excel文件列表值进行统计的方法
本文实例讲述了Python实现对excel文件列表值进行统计的方法.分享给大家供大家参考.具体如下: #!/usr/bin/env python #coding=gbk #此PY用来统计一个execl文件中的特定一列的值的分类 import win32com.client filename=raw_input("请输入要统计文件的详细地址:") flag=0 #用于判断文件 名如果不带'日'就为 0 if '\xc8\xd5' in filename:flag=1 print 50*'
-
使用python统计文件行数示例分享
复制代码 代码如下: import time def block(file,size=65536): while True: nb = file.read(size) if not nb: break yield nb def getLineCount(filename): with open(filename,"r",encoding="utf-8") as f: return
-
python统计一个文本中重复行数的方法
本文实例讲述了python统计一个文本中重复行数的方法.分享给大家供大家参考.具体实现方法如下: 比如有下面一个文件 2 3 1 2 我们期望得到 2,2 3,1 1,1 解决问题的思路: 出现的文本作为key, 出现的数目作为value,然后按照value排除后输出 最好按照value从大到小输出出来,可以参照: 复制代码 代码如下: in recent Python 2.7, we have new OrderedDict type, which remembers the order in
-
python实现代码行数统计示例分享
复制代码 代码如下: #!/usr/bin/python ''' File : count.py Author : Mike E-Mail : Mike_Zhang@live.com'''import sys,os extens = [".c",".cpp",".hpp",".h"]linesCount = 0filesCount = 0 def funCount
-
Python脚本实现代码行数统计代码分享
之前用bash实现过(http://www.jb51.net/article/61943.htm),不过那个不能在windows下使用,所以就写了个python版,也方便我以后使用--这里就不多介绍了,不懂的google下. 实现代码 复制代码 代码如下: #!/usr/bin/python ''' File : count.py Author : Mike E-Mail : Mike_Zhang@live.com ''' i
-
python实现统计代码行数的方法
本文实例讲述了python实现统计代码行数的方法.分享给大家供大家参考.具体实现方法如下: ''' Author: liupengfei Function: count lines of code in a folder iteratively Shell-format: cmd [dir] Attention: default file encode is utf8 and default file type is java-source-file. But users can customi
-
python 统计代码行数简单实例
python 统计代码行数简单实例 送测的时候,发现需要统计代码行数 于是写了个小程序统计自己的代码的行数. #calclate_code_lines.py import os def afileline(f_path): res = 0 f = open(f_path) for lines in f: if lines.split(): res += 1 return res if __name__=='__main__': host = 'E:'+os.sep+'develop'+os.s
-
Python中统计函数运行耗时的方法
本文实例讲述了Python中统计函数运行耗时的方法.分享给大家供大家参考.具体实现方法如下: import time def time_me(fn): def _wrapper(*args, **kwargs): start = time.clock() fn(*args, **kwargs) print "%s cost %s second"%(fn.__name__, time.clock() - start) return _wrapper #这个装饰器可以在方便地统计函数运行的
-
Python 中几种字符串格式化方法及其比较
Python 中几种字符串格式化方法及其比较 起步 在 Python 中,提供了很多种字符串格式化的方式,分别是 %-formatting.str.format 和 f-string .本文将比较这几种格式化方法. %- 格式化 这种格式化方式来自于 C 语言风格的 sprintf 形式: name = "weapon" "Hello, %s." % name C 语言的给实话风格深入人心,通过 % 进行占位. 为什么 %-formatting不好 不好的地方在于,
-
浅谈python脚本设置运行参数的方法
正在学习Django框架,在运行manage.py的时候需要给它设置要监听的端口,就是给这个脚本一个运行参数.教学视频中,是在Eclipse中设置的运行参数,网上Django大部分都是在命令行中运行manage.py时添加参数,没有涉及到如何在pycharm中设置运行参数.以下是两种设置运行参数的方法(以manage.py为例),不设置运行参数时,运行结果为 D:\Python2.7\python.exe "D:/Django project/DjangoProject1/manage.py&q
-
python中把元组转换为namedtuple方法
我们可以把表里每一个横行的数据,看成是不同的元组.在理解了这个概念后,昨天我们学了不少的namedtuple类,是否也能把元组转换成namedtuple呢?当然这是一个尝试,很多小伙伴平时使用的时候会很少用到,而且资料的搜集方面也比较难找.小编也搜集了很久才有收获,本篇就为大家带来元组在python中转换为namedtuple的方法. 之前我们了解了为什么使用namedtuple,现在该学习如何将常规元组和转换为namedtuple了.假设由于某种原因,有包含彩色RGBA值的实例.如果要将其转换
-
python中_del_还原数据的方法
在数据存储过多时,我们会选择清除,不过有时候也需要找回一些我们之前删掉的数据.有的小伙伴可能会使用不同的方法分别完成,那么今天小编带来的_del_方法既能满足数据的清除,同时也可以把删除的数据重新找回来.考虑到大家对数据还原的方法比较急缺,接下来我们就_del_如何还原数据的方法进行讲解. _del_在对象销毁时被调用,往往用于清除数据或还原环境等操作,比如在类中的其他普通方法中实现了插入数据库的语句,当对象被销毁时我们需要将数据还原,那么这时可以在__del__方法中实现还原数据库数据的功能.
-
Python中过滤字符串列表的方法
Python使用列表数据类型在顺序索引中存储多个数据.它的工作方式类似于其他编程语言的数字数组.filter()方法是Python的一种非常有用的方法.可以使用filter()方法从Python中的任何字符串.列表或字典中过滤一个或多个数值.它根据任何特定条件过滤数据.当条件返回true时,它将存储数据,而返回false时将丢弃数据.本文通过使用不同的示例展示了如何在Python中过滤列表中的字符串数据.您必须使用Python 3+来测试本文的示例. 使用另一个列表过滤字符串列表 本示例说明了如
-
Python中的字典及其使用方法
目录 一.使用字典 1.访问字典中的值 2.在字典中添加键值对 3.修改字典中的值 4.删除字典中的键值对 5.由类似对象组成的字典 二.遍历字典 1.遍历字典中的所有键值对 2.遍历字典中的所有键 3.遍历字典中的所有值 三.嵌套 1.字典列表 2.在字典中嵌套列表 3.在字典中嵌套字典 前言: 本文的主要内容是介绍Python中字典及其使用,包括使用字典(添加.删除.修改等操作).遍历字典以及字典与列表之间的嵌套使用,文中附有代码以及相应的运行结果辅助理解. 一.使用字典 在Python中,
-
Python中range函数的使用方法
目录 1.range()函数是什么? 2.语法格式 3.报错问题 4.range()函数需要注意的 5.range对象是不可变序列 6.range函数实现逆序遍历 7.与列表list的使用 8.关于range函数小结 前言: 本篇基于Python3环境,Python2环境下的range会有所不同,但并不影响我们使用. 1.range()函数是什么? range()函数是python的内置函数,它能返回一系列连续添加的整数,能够生成一个列表对象. 大多数时常出如今for循环中,在for循环中可做为
-
详解Python中Addict模块的使用方法
目录 介绍 1.安装 2.用法 3.要牢记的事情 4.属性,如键.item等 5.默认值 6.转化为普通字典 7.计数 8.更新 9.Addict 是怎么来的 介绍 Addit 是一个Python模块,除了提供标准的字典语法外,Addit 生成的字典的值既可以使用属性来获取,也可以使用属性进行设置. 这意味着你不用再写这样的字典了: body = { 'query': { 'filtered': { 'query': {
-
python中elasticsearch_dsl模块的使用方法
目录 前言 连接elasticsearch elasticsearch_dsl.Search query方法 filter方法 index方法 elasticsearch_dsl.query elasticsearch_dsl.Q 嵌套类型 查询 排序 分页 聚合 高亮显示 source限制返回字段 删除 案例分析 前言 elasticsearch-dsl是基于elasticsearch-py封装实现的,提供了更简便的操作elasticsearch的方法. 安装: install elastic
随机推荐
- SWT(JFace) 简易浏览器 制作实现代码第1/2页
- 基于vue.js实现图片轮播效果
- 误删除$ORACLE_HOME/dbs下的参数文件、密码文件快速重建的方法
- 一种基于浏览器的自动小票机打印实现方案(js版)
- for循环连续求和、九九乘法表代码
- Symfony2之session与cookie用法小结
- 浅谈vue实现数据监听的函数 Object.defineProperty
- Javascript的getYear、getFullYear、getUTCFullYear异同分享
- javascript算法题:求任意一个1-9位不重复的N位数在该组合中的大小排列序号
- Jquery调用webService远程访问出错的解决方法
- javascript基于DOM实现省市级联下拉框的方法
- IIS6 MVC4 路由失效 无法访问的解决方法
- 在mybatis执行SQL语句之前进行拦击处理实例
- Android源码学习之单例模式应用及优点介绍
- 使用Java编写控制JDBC连接、执行及关闭的工具类
- php5.2.0内存管理改进
- SSM 整合的配合文件(分享)
- VBS基础篇 - vbscript堆栈
- MySQL用户权限验证与管理方法详解
- js实现unicode码字符串与utf8字节数据互转详解