我正在创建一组嵌套很深的命令,如click.group()s。我只想在按下Enter
键时执行cli的最后一个组(命令)输入
例如:
cli sub_command subsub_command # < -- should only execute subsub_command
。。。应该只执行最后一个命令subsub_command
,但是,似乎单击“希望”以执行完整的命令堆栈。(奇怪的是,它不包括subsub_command
):
$ cli sub-command subsub-command
I am the root_command
I am sub_command
Usage: cli sub-command subsub-command [OPTIONS] COMMAND [ARGS]...
Options:
--help Show this message and exit.
它似乎正在运行除最后一个命令之外的所有命令。为什么它显示subsub_command
的帮助而不是简单地执行它
这是我的点击代码:
import os
import sys
import click
@click.group(invoke_without_command=True)
def cli():
print('I am the root_command')
@cli.group()
def sub_command(invoke_without_command=True):
print('I am sub_command')
@sub_command.group()
def subsub_command(invoke_without_command=True):
print('I am the subsub_command')
if __name__ == '__main__':
cli()
任何想法都是有帮助的。谢谢
这是因为您正在反复使用
@cli.group
命令是用
@cli.command
定义的例如:
@group
的思想是将多个命令组合在一起,group方法用于为整个组定义公共上下文代码相关问题 更多 >
编程相关推荐