时间装饰器正在提升"' NoneType'对象不可调用"例外

时间:2014-09-16 20:22:08

标签: python python-3.x python-decorators

我有计时功能和主要功能。当我只使用main函数时它运行正常,但是当我使用计时功能作为装饰器时它会引发异常。

计时功能代码:

def timing(function):
    import time
    t = time.time()
    function()
    t = time.time() - t
    print('Program has been running for {} seconds.'.format(t))

我这样用:

@timing
def main():
    #some code

1 个答案:

答案 0 :(得分:5)

装饰者需要返回装饰函数:

def timing(function):
  def wrapped():
    import time
    t = time.time()
    function()
    t = time.time() - t
    print('Program has been running for {} seconds.'.format(t))
  return wrapped

@timing
def main():
  # some code