如何像往常一样调用click wrapped函数



我有一个命令:

import click
@click.command()
@click.option('--count', default=1)
def test(count):
click.echo('Count: %d' % count)

如何将此test(...)作为普通Python函数调用?

我试图将函数调用为test("123"),但收到异常:

错误:得到意外的额外参数(1 2 3(

所以,假设test(...)函数附带了一个第三方包,并且我不能修改函数中的任何内容,我如何调用这个test(...)函数?

Click将其作为反模式调用,并建议您执行以下操作:

import click
@click.command()
@click.option('--count', default=1)
def test(count):
result = _test(count)
click.echo(result)
def _test(count):
return f"Count: {count}"

以这种方式构造代码可以在API和业务逻辑之间清晰地分离,这通常很有用。

相关内容

  • 没有找到相关文章

最新更新