正在尝试将执行进程(测试,a,b)名称添加到我正在计算运行时间的装饰中。需要建议
最终预期日志:
Process **a** elapsed time :3.8 || Rowcount=1833
Process **test** elapsed time :7.8 || Rowcount=1133
代码
import time
from queries import a,b,test
def elapsedTimeTracker_decorator(func):
def wrapper():
start_time = time.time()
func()
print(test)
end_time = time.time()
elapsed_time = end_time - start_time
print('elapsed_time:'+ str(elapsed_time) +'||' + 'RowCount:' + str(cursor.rowcount))
return wrapper
print "Process a started"
elapsedTimeTracker_decorator(lambda: cursor.execute(a))()
print "Process Test started"
elapsedTimeTracker_decorator(lambda: cursor.execute(Test))()
print "Process b started"
elapsedTimeTracker_decorator(lambda: cursor.execute(b))()
甲、乙及丙;测试由SQL更新查询组成
test = """INSERT INTO users
select * from user_all where user_id=54549172 """
如果希望为不带参数的修饰lambda打印额外数据,则必须将其传递给修饰器:
除此之外,我不知道你的
test
应该来自哪里。如果这不是一个合适的解决方案,请详细说明编辑:根据提供的最新信息,显然您不需要使用lambda,也不需要使用带有内部包装的装饰器。您可以简单地使用一个简单的函数来调用给定的函数,该函数使用提供的参数和关键字来处理调用以及打印执行时间。例如:
这会打印出如下内容:
相关问题 更多 >
编程相关推荐