点击没有找到这样的命令

时间:2016-11-26 17:21:58

标签: python command-line-interface

我正在尝试点击(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

1 个答案:

答案 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的参数命令。