click常用方法
挑了点容易忘的写

内容不全,这库挺复杂的,具体还是看文档吧

设置-h显示提示信息

CONTEXT_SETTINGS = dict(help_option_names=['-h', '--help'])

常用的函数

click.Path 验证传入的路径
click.Choice 多选一

调用其他的函数

先用click.pass_context传入参数,再用ctx.invokectx.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