click简介
click是类似docopt的命令行工具,让我们可以快速的创建一个命令行工具,并且click能让我用尽量少的代码,并自动生成命令行帮助文档

正如官网所说,click有三大特性:
- arbitrary nesting of commands
- automatic help page generation
- supports lazy loading of subcommands at runtime
click基本使用
|
|
我在cmd中运行如下:
|
|
基本概念
click是基于装饰器的,我们可以在方法上使用click.command()装饰器来将该方法变成一个命令行工具
|
|
|
|
echo()
之所以不使用print()是为了兼容python2和3,当然也是可以使用print()的
嵌套命令
可以通过group来实现命令行的嵌套,也就是让一个命令行工具具有多个命令
|
|
|
|
parameter
@click.argument()可以给命令添加参数
|
|
|
|
parameter包括arguments和options,arguments一般是必须的,而options一般是可选的
parameter类型
click.STRING:默认类型click.INT:intclick.FLOAT:floatclick.BOOL:booleanclick.File(mode=’r’, encoding=None, errors=’strict’, lazy=None, atomic=False)click.Path(exists=False, file_okay=True, dir_okay=True, writable=False, readable=True, resolve_path=False, allow_dash=False, path_type=None)click.Choice(choices)click.IntRange(min=None, max=None, clamp=False)
File Arguments
|
|
File Path Arguments
|
|
Choice Options
|
|
|
|
Range Options
|
|
|
|
Options
Multi Value Options
|
|
Tuples as Multi Value Options
|
|
Multiple Options
|
|
|
|
Arguments
Variadic Arguments
|
|
nargs=-1表示参数数目无限制
User Input Prompts
|
|
其他功能
click还有测试模块,以及输出带样式的文本等,在此就不详细介绍了