python 计算执行时间的装饰器

写一个装饰器wraps,它接收一个参数t,如果函数执行时间超过1秒,输出“bad”,否则输出“goods”。


首先,计算函数的执行时间:

  1. import time
  2. start = time.clock()
  3. for i in range(1000000):
  4.     pass
  5. end = time.clock()
  6. print "cost time = %f s" % (end-start)
结果:
  1. >>>
  2. cost time = 0.092749 s
  3. >>>


然后:

  1. import time
  2. def warps(t):
  3.     def deco(func):
  4.         def _deco(*args,**kwargs):
  5.             start = time.clock()
  6.             func(*args,**kwargs)
  7.             end = time.clock()
  8.             if end - start > t:
  9.                 print 'bad'
  10.             else:
  11.                 print 'goods'
  12.         return _deco
  13.     return deco
  14. @warps(10)
  15. def myfunc(*args,**kwargs):
  16.     for i in range(100000):
  17.         pass
  18.     
  19. myfunc()

结果:

  1. >>>
  2. goods
  3. >>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值