Python click lib是否提供打印内置帮助消息的方法?
我正在使用Python click lib是否提供打印内置帮助消息的方法?,python,python-click,Python,Python Click,我正在使用单击库 在我的代码中,有时我想打印帮助消息, 但我知道的唯一方法是: python xxx --help 但是我想使用某个函数打印代码中的帮助消息,例如: click.print_help_msg() 有这样的函数吗?我在click的文档中修改了示例并提出了这个,但是我以前没有使用过它,也没有测试过下面的代码 @click.command() @click.option('--help') def help(): """Simple program that greets
单击库
在我的代码中,有时我想打印帮助消息,
但我知道的唯一方法是:
python xxx --help
但是我想使用某个函数打印代码中的帮助消息,例如:
click.print_help_msg()
有这样的函数吗?我在click的文档中修改了示例并提出了这个,但是我以前没有使用过它,也没有测试过下面的代码
@click.command()
@click.option('--help')
def help():
"""Simple program that greets NAME for a total of COUNT times."""
for x in range(count):
click.echo(get_help_message())
def get_help_message():
return "I AM A HELP MESSAGE!"
类似的东西不起作用吗?您可以使用单击。echo
类似的东西:
click.echo('FooBar')
echo
还支持颜色代码和基于类型的过滤,例如:
click.echo('FooBar', err=True)
您可以参考以了解更多信息。您可以使用命令的方法
在click 5.x中,您现在可以使用get\u current\u context()
方法:
def print_help():
ctx = click.get_current_context()
click.echo(ctx.get_help())
ctx.exit()
如果您只想打印错误消息并退出,请尝试:
def exit_with_msg():
ctx = click.get_current_context()
ctx.fail("Something unexpected happened")
我希望click.echo的输出与“python xxx--help”的输出相同,是否有解决方案?我希望click.echo的输出与“python xxx--help”的输出相同,有什么解决方案吗?遗憾的是,这对我的情况不起作用,我总是得到AttributeError:'name'对象没有属性'allow_extra_args'
,如果您使用嵌套组,结果是“Usage:[OPTIONS]COMMAND[args]”(即缺少根名称),然后用click.Context调用(COMMAND,info_name='mycli'))as ctx:
将正确填充名称。如果您想打印@click.group
的帮助,您可以使用带注释的group方法,而不是命令
。现在单击7.x,ctx.exit()
会给出一个AttributeError
,因为exit()
已被删除。退出与上下文是隐式的,除非在回调函数中使用它(例如,通过MyCli.\uu version\uu
打印cli版本)。
def exit_with_msg():
ctx = click.get_current_context()
ctx.fail("Something unexpected happened")