我有一个python代码片段,允许我将时间作为装饰器。我想在输出中添加函数名称。时间以毫秒为单位
def func_timer(func):
def f(*args, **kwargs):
start = time.time()
results = func(*args, **kwargs)
print "Elapsed: %.6fs" % (time.time() - start)
return results
return f
用法是:
@func_timer
def foo():
pass
当前输出为:
Elapsed: 0.005168s
所需输出:
foo Elapsed: 5.168ms
答案 0 :(得分:4)
函数对象具有__name__
属性,您可以使用它。如果你想要毫秒,只需将时间乘以1000:
print "%s Elapsed: %.6fms" % (func.__name__, (time.time() - start) * 1000)