我正在使用click
库。
在我的代码中,有时我想打印帮助信息,但我知道的唯一方法是:
python xxx --help
但是我想使用某个函数在我的代码中打印帮助信息,例如:
click.print_help_msg()
有这样的功能吗?
我正在使用click
库。
在我的代码中,有时我想打印帮助信息,但我知道的唯一方法是:
python xxx --help
但是我想使用某个函数在我的代码中打印帮助信息,例如:
click.print_help_msg()
有这样的功能吗?
您可以使用 Command 的get_help方法
import click
@click.command()
@click.option('--name', help='The person to greet.')
def hello(name):
"""Simple program that greets NAME."""
click.echo('Hello %s!' % name)
def print_help_msg(command):
with click.Context(command) as ctx:
click.echo(command.get_help(ctx))
>> print_help_msg(hello)
在 click 5.x 中,您现在可以使用以下get_current_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
这样的东西:
click.echo('FooBar')
echo
还支持基于类型的颜色代码和过滤,例如:
click.echo('FooBar', err=True)
您可以参考文档以获得更多理解。
我修改了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!"
这样的事情行不通吗?