修复装饰器参数

2024-04-19 19:38:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下第三方装饰师:

def retry(exception_to_check, tries=4, delay=3, backoff=2, logger=None):

我想创建另一个decorator,@my_retry,它类似于@retry,但是有固定的参数。你知道吗

我试过使用functools.partial

my_retry = partial(retry, RETRY_EXCEPTIONS, tries=5, delay=5, backoff=3, logger=logging)

但是当我使用新的装饰器时,我得到了以下例外:

TypeError: retry() got multiple values for keyword argument 'tries'

我做错什么了?你知道吗


Tags: tonone参数mydefcheckexceptiondecorator
1条回答
网友
1楼 · 发布于 2024-04-19 19:38:35

您需要做的是在retry周围做一个包装,如下所示

def my_retry(retry_exceptions, tries=5, delay=5, backoff=3, logger=logging):
    return retry(retry_exceptions, tries, delay, backoff, logger)

使用@my_retry()。你知道吗

相关问题 更多 >