我正在尝试点击(Python的命令行界面包),在运行以下代码时出现错误Error: No such command "abcd"
@click.group()
@click.option('--source', required=True)
@click.pass_context
def cli(ctx, source):
ctx.obj = "pass it"
@cli.command()
@click.argument('abcd')
@click.pass_context
def hello(ctx, abcd):
click.echo("Hello, World")
if __name__ == '__main__':
cli()
我按照以下方式运行
python playclick.py --source this abcd
答案 0 :(得分:1)
" ABCD"因为空间而被视为一个单独的命令(这是你的shell的特征,而不是具体的点击)。
如果您希望source
的值为"此abcd",请使用引号:
python playclick.py --source "this abcd"
要实际提供abcd
参数,您需要调用hello
命令 - 该参数适用于该命令:
python playclick.py --source this hello 123456
hello
命令的参数为123456
。
分解整行:
--source this
为主source
命令提供cli
参数。
hello
是要运行的命令(尝试python playclick.py --source this
,您将收到错误,因为没有命令),123456
是名为abcd
的参数命令。