我正在try 为点击decorator @click.options('--foo', required=True)
创建一个包装decorator :
import click
def foo_option(func):
orig_decorator = click.option('--foo', required=True)(func)
def decorator(*args, **kwargs):
orig_decorator(*args, **kwargs)
return decorator
@click.command()
@foo_option
def bar1(foo: str) -> None:
print(f"bar1: {foo}")
if __name__ == '__main__':
bar1()
这不管用.当我以script.py --foo=1
的速度运行它时,我得到错误:
Usage: script.py [OPTIONS]
Try 'script.py --help' for help.
Error: No such option: --foo
预期输出应为:
bar1: 1
我遗漏了什么? 有关背景信息,请参阅Refactor @click.option() arguments.