[python] 带有参数并且传递参数的装饰器

场景时这样的,我有个一大堆任务,我要给这些任务计时,,入库。就需要一个带有参数的装饰器来记录任务名称, 在任务执行前和执行之后都需要记录任务当时执行的时刻。

#-*- encoding=utf-8 -*-from functools import wraps:::,taskname# 装饰器传变量给函数taskid = 1summer, funcres = func(taskid, *args, **wkargs)print ‘after task’, taskid, summerreturn funcresreturn return_wrapperreturn func_wrapper:print “testd runing”,taskidreturn “task summer success eg”, []print testd()

执行的结果

liuzhizhi@lzz-rmbp|snmp # python decorators_1.pybefore task testtestd runing 1after summer success eg[]

把中间的print 替换成需要执行的动作就可以完成,响应的功能了,参数在装饰器和被装饰函数之间可以很好的传递。

从此便踏上征途,也许会孤独一程。

[python] 带有参数并且传递参数的装饰器

相关文章:

你感兴趣的文章:

标签云: