一直都知道python有这样一个功能,但是没有遇到过,今天写一个程序,分步对图像进行处理,我想观察每个处理的时长看哪些操作比较耗时,我本来想这样写:
import time
st = time.time()
func(*args, **kw)
ptint(time.time()-st)
但是这样要在每步处理函数前后都添加代码,麻烦不说代码不好管理,这时候想到了装饰器
def runTime(func):
def wrapper(*args, **kw):
st = time.time()
ret = func(*args, **kw)
print('[%s] run time is %.2f' % (func.__name__ ,time.time() - st))
return ret
return wrapper
定义以上装饰器,在每个想要计时的的函数前面@runTime
就可以了
@runTime
def func1():
pass
@runTime
def func2():
pass