(1)在程序启动时获得当前时间:
recordTime = time.time()
startTime = time.strftime("%H%M%S")
timeGap = time.time() - recordTime
if timeGap = 1: #这是按1秒设置的,可以根据实际需要设置
recordTime += timeGap
showTime_String = get_lapseTime(startTime, time.strftime("%H%M%S"))
def get_lapseTime(aTime, bTime):
return(gapTime)
使用time.time来统计函数的执行时间,程序只会执行一次,存在很大的随机因素.
timtit包就可以重复执行函数多次,然后将多次执行结果取平均值.相比起来更优.
然而程序执行时间很大程度还受计算机性能的影响,衡量程序好坏更靠谱的手段是计算时间复杂度.
① 使用装饰器来衡量函数执行时间
有一个简单方法,那就是定义一个装饰器来测量函数的执行时间,并输出结果:
import time
from functoolsimport wraps
import random
def fn_timer(function):
@wraps(function)
def function_timer(*args, **kwargs):
? ? t0= time.time()
? ? result= function(*args, **kwargs)
? ? t1= time.time()
? ? print("Total time running %s: %s seconds" %
? ? ? ? (function.__name__, str(t1- t0))
)
? ? return result
return function_timer
@fn_timer
def random_sort(n):
return sorted([random.random() for i in range(n)])
if __name__== "__main__":
使用方式的话,就是在要监控的函数定义上面加上 @fn_timer 就行了
或者
# 可监控程序运行时间
def clock(func):
? def wrapper(*args, **kwargs):
? ? ? start_time= time.time()
? ? ? result= func(*args, **kwargs)
? ? ? end_time= time.time()
? ? ? return result
return wrapper
@clock
另一种方法是使用timeit模块,用来计算平均时间消耗.
执行下面的脚本可以运行该模块.
这里的timing_functions是Python脚本文件名称.
然而,装饰器和timeit都是基于Python的.在外部环境测试Python时,unix time实用工具就非常有用.
运行time实用工具:
输出结果为:
第一行来自预定义的装饰器,其他三行为:
real表示的是执行脚本的总时间
user表示的是执行脚本消耗的CPU时间.
sys表示的是执行内核函数消耗的时间.
注意:根据维基百科的定义,内核是一个计算机程序,用来管理软件的输入输出,并将其翻译成CPU和其他计算机中的电子设备能够执行的数据处理指令.
所以呢,Real执行时间和User+Sys执行时间的差就是消耗在输入/输出和系统执行其他任务时消耗的时间.
time 是python带的非内置库,使用时需要import,主要用于处理和时间相关的操作.
time.sleep用于给定时间内挂起(等待)当前线程的执行.
time.sleep() 函数的例子:
可以看到虽然都是打印出一样的结果,但time.sleep()加入了等待时间
这里还要解释一下python中线程与进程的区别.
举个例子,厨房做菜看成是一个进程,那么这个进程下面就可能有多个人或一个人(cpu基本执行单元,即线程)来执行,多个人可以分别洗菜,刷碗,摆盘等等同时作业,他们又是共享这个厨房的资源的.每个人存在一定的资源竞争关系,比如炉火只有1个.
这里time.sleep是针对线程执行的,也就是其中一个人去sleep睡觉了,不影响其他人的继续工作.
参数
该函数没有返回值.
结果类似如下:
无
time.sleep()常用于推迟执行的场景
在python中,与时间相关的模块有:time,datetime以及calendar
对基础运行环境有疑问的,推荐参考: python函数深入浅出 0.基础篇
python长时间运行 时间不准调整设置就可以.
这是因为,run 函数不是一瞬间就运行完成的.它运行也会消耗时间.
可以使用1秒作为deltatime.如果涉及到更精确的时间,则还是需要用time.time()来计算循环初始时间,然后在循环结尾计算中间的时间差来获得更精准的deltatime.
python 计算程序运行时间:
第一段:import time
第二段:start =time.clock()
第三段:#执行程序,比如计算1到100的和.
sum=0
for i in range(1,101):
sum=sum+i
print(sum )
第四段:end = time.clock()
print('Running time: %s Seconds'%(end-start))#其中end-start就是程序运行的时间,单位是秒.
第五段:
#全部程序如下
start =time.clock()
end = time.clock()
print('Running time: %s Seconds'%(end-start))
#输出结果
①.、问题:
给定你两个日期,如何计算这两个日期之间间隔几天,几个星期,几个月,几年?
标准模块datetime和第三方包dateutil(特别是dateutil的rrule.count方法)能非常简单迅速的帮你解决这个问题.
Python构造日期对象和计算日期间天数差的问题python时间模块time,日期模块datetime,格式化用strftime()importdatetime防抓取,突袭网提供内容,请查看原文.
from dateutil import rrule import datetime def weeks_between(start_date, end_date): weeks = rrule.rrule(rrule.WEEKLY, dtstart=start_date, until=end_date) return weeks.count( )
rrule方法允许你根据日期(DAILY),星期(WEEKLY),年(YEARLY)来设置尺度计算.下面用一段代码来测试一下:
pytho将txt文件转换为列表问:想把这些带空格的文字转化为python中列表,就是['大数据','和',......]...答:importrecontent="大数据和社会"datas=re.s防抓取,突袭网提供内容,请查看原文.
pytho怎么安装tensor答:easy_install或者pip都可以,要看你这个tensor是啥时候的东西了,应该pip能解决!你在python的安装目录下找pip,之后放到path里面去,之后运行pip--help去看详细的命令介绍,很简单的PS:如果在windows下,python包安装会很费劲,不是少了...防抓取,突袭网提供内容,请查看原文.
将输出这样的结果:
为什么python中print可以运行,而print"ilo...答:为什么python中print可以运行,而防抓取,突袭网提供内容,请查看原文.
pytho安装路径错误怎么卸载问:python安装时路径写错,忘记这个电脑没没E盘,安装失败,卸载时总报错,...答:可以重启一下你的电脑然后安装电脑管家在电脑上通过工具箱的软件管理,自动卸载该软件即防抓取,突袭网提供内容,请查看原文.
当然你可以不必定义一个尺寸,直接一句return rrule.rrule(rrule.WEEKLY, dtstart=start_date, until=end_date).count( )就可以得到结果.
pytho编写脚本用于什么测试答:PY可以实现很多东西的自动化啊主要可以写一些脚本帮助解决一些重复性劳作以及解决程序的一些自动化防抓取,突袭网提供内容,请查看原文.
希望本文所述对大家的Python程序设计有所帮助.
以上就是土嘎嘎小编为大家整理的python函数运行时间的简单介绍python函数运行时间的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!