【发布时间】:2015-02-22 03:46:14
【问题描述】:
我正在使用重试 (pip install retrying) 包。
我有这样的功能 -
from retrying import retry
from random import randint
def a():
number = randint(0, 10)
if number > 0:
print number
raise Exception("Some exception")
else:
return number
# Case 1
a = retry(a) # This works as expected - i.e. execs until I get a 0
print a()
# Case 2
a = retry(a, stop_max_attempt_number=3)
print a()
在情况 2 中,stop_max_attempt_number 无效。是否有不同的方法来传递函数,AND 关键字 arg?
我的用例是我想要仅在需要时装饰函数,因此将@retry(stop_max_attempt_number=3) 放在def a() 之前的典型用法不是我需要的。
【问题讨论】:
标签: python decorator python-decorators