1、Click简介
Click:作为“命令行接口创建工具包”,Click使用可组合的方法,利用尽可能少的代码创建更为漂亮的命令行界面。它在高可配置的同时,还保持了较为合理的默认设置。
Click致力于使编写命令行工具的过程快速而有趣,同时避免在执行目标CLI API时产生的崩溃。
Click的三个特点:
1、可任意嵌套命令
2、自动辅助页面生成
3、支持运行时延迟加载子命令
2、示例
Click以装饰器声明命令,将函数变为命令行工具。使用echo()而不是print()是为了在python各版本中更好的兼容运行。
import click
@click.command()
@click.option("--count", default=1, help="Number of greetings.")
@click.option("--name", prompt="Your name", help="The person to greet.")
def hello(count, name):
"""Simple program that greets NAME for a total of COUNT times."""
for _ in range(count):
click.echo(f"Hello, {name}!")
if __name__ == '__main__':
hello()
以上程序示例表述了click的使用方法“–count”表示输出次数,默认值为1,“__name”表示名称,提示输入语为"Your name",命令行执行将输出以下内容:
$ python hello.py --count=3
Your name: Click
Hello, Click!
Hello, Click!
Hello, Click!
3、嵌套命令:
click.command()还可以被嵌套到click.group()中,作为group命令的子命令:
@click.group()
def cli():
pass
@click.command()
def initdb():
click.echo('Initialized the database')
@click.command()
def dropdb():
click.echo('Dropped the database')
cli.add_command(initdb)
cli.add_command(dropdb)
4、增加参数:
使用click.argument(‘name’)也可以对命令增加参数
@click.command()
@click.option('--count', default=1, help='number of greetings')
@click.argument('name')
def hello(count, name):
for x in range(count):
click.echo('Hello %s!' % name)
更多说明在见**click的官方文档**