Click是Flask的作者开发的一个第三方模块,用于快速创建命令行。它的作用与Python标准库argparse相同,但是使用更加简单。
click相对于argparse,就好比requests相对于urllib
Click使用分两步:
1)使用@click.command() 装饰一个函数,使之成为命令行接口;
2)使用@click.option() 等装饰函数,为其添加命令行选项等。
##Click 官方例子1
import click
@click.command() //使函数hello成为命令行接口
@click.option('--count', defaut=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 x in range(count):
click.echo('Hello %s! % name')
if __name__ == '__main__':
hello()
##option常用的设置参数
default: 设置命令行参数的默认值
help: 参数说明
type: 参数类型,可以是string, int, float等
prompt: 命令行提示信息,可输入参数
nargs: 指定命令行参数接受的值的个数
##Click 官方例子2
##通过nargs设定参数个数,type设置参数类型
@click.command()
@click.optoin('--pos', nargs=2, type=float)
def findme(pos):
click.echo('%s / %s' % pos)
###
@click.command()
@click。option('--hash-type', type=click.Choice(['md5', 'sha1']))
def digest(hash_type):
click.echo(has_type)