我有一个命令:
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和业务逻辑之间清晰地分离,这通常很有用。