import time from functools import wraps # 1. 定义修饰器 def ctimer(function): @wraps(function) def ftimer(*args, **kwargs): t0 = time.time() result = function(*args, **kwargs) t1 = time.time() sys.stderr.write("[INFO] '%s' running cost: %s seconds\n" %(function.func_name, str(t1-t0))) return result return ftimer # 2. 加载修饰器 @ ctimer def targetfunc(): a = np.arange(1000000) return 1000000 # 3. 测试函数耗时 targetfunc()