click常用方法
挑了点容易忘的写
内容不全,这库挺复杂的,具体还是看文档吧
设置-h显示提示信息
CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])
常用的函数
click.Path 验证传入的路径
click.Choice 多选一
调用其他的函数
先用click.pass_context
传入参数,再用ctx.invoke
或ctx.forward
调用其他函数
区别是forward
是把参数原封不动的传给另一个函数,而invoke
可以选择
cli = click.Group()
@cli.command()
@click.option('--count', default=1)
def test(count):
click.echo('Count: %d' % count)
@cli.command()
@click.option('--count', default=1)
@click.pass_context
def dist(ctx, count):
ctx.forward(test)
ctx.invoke(test, count=42)
"""
$ cli dist
Count: 1
Count: 42
"""
帮助文档相关
command
直接写成doc放在函数下面就好,或者也可以加到click.command(help='...')
option
click.option 接受help
作为参数,以字符串的形式传进去就好了。
argument
click.argument 不接受 help=
参数,因为argument应该尽可能明了地写在command的帮助文档里
程序结束前运行执行hook
@click.group()
@click.pass_context
def main(ctx: click.Context):
ctx.call_on_close(lambda: state.save())
最后修改于 2024-10-07