python计算程序执行时间的装饰器使用

mac2022-06-30  23

1、经常被问程序执行了多久,每个函数都去写很麻烦,所以打算写个装饰器自动计算程序执行时间;推荐文档,大多数基础题都有:  https://python3-cookbook.readthedocs.io/zh_CN/latest/ 

import timedef clock(func): def clocked(*args, **kwargs): start = time.time() result = func(*args, **kwargs) end = time.time() print(func.__name__, end - start) return result return clocked@clockdef test(): print("excute...") time.sleep(5)test()执行结果:

"D:\Program Files\python3.6.7\python.exe" D:/pythonWorkspace/untitled4/22.pyexcute...test 5.000607967376709

Process finished with exit code 0

 

2、装饰器错误使用方法

import datetimeimport timedef clock(func): start = datetime.datetime.now() print(start) def clocked(*args, **kwargs): func(*args, **kwargs) end = datetime.datetime.now() total = (end - start).total_seconds() print(end) print("执行%s耗时:%d" %(func.__name__, total)) return clocked@clockdef test(): print("excute...") time.sleep(5)test()错误的执行结果:

"D:\Program Files\python3.6.7\python.exe" D:/pythonWorkspace/untitled4/55.py2019-08-19 10:24:29.9041062019-08-19 10:24:29.904106执行test耗时:0excute...

Process finished with exit code 0

 

转载于:https://www.cnblogs.com/harryTree/p/11375604.html

最新回复(0)