我想要一个命令行工具,其用法如下:
$ program <arg> does something, no command name required
$ program cut <arg>
$ program eat <arg>
Click 代码如下所示:
@click.group()
def main() :
pass
@main.command()
@click.argument('arg')
def noname(arg) :
# does stuff
@main.command()
@click.argument('arg')
def cut(arg) :
# cuts stuff
@main.command()
@click.argument('arg')
def eat(arg) :
# eats stuff
我的问题是,使用这段代码,总是有一个必需的命令名称,即:我需要运行$ program noname arg
。但我希望能够跑步$ program arg
.
有一个选项适合您,“无需命令的组调用
”:
@click.group(invoke_without_command=True)
@click.pass_context
def main(ctx):
if not ctx.invoked_subcommand:
print('main stuff')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)