安装click
pip install click
使用步骤
使用@mand() 装饰一个函数,使之成为命令行接口
使用@click.option() 等装饰函数,为其添加命令行选项
example:
importclick
@mand()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
help='The person to greet.')defhello(count, name):"""Simple program that greets NAME for a total of COUNT times.""" #会当作help信息进行输出
for x inrange(count):
click.echo('Hello %s!' %name)if __name__ == '__main__':
hello()
在上面的例子中,函数hello接受两个参数,分别是count和name,他们的取值从命令行中获取,这里我们使用了click模块中的command、option、echo,他们的作用如下:
command:使函数hello成为命令行接口
option:增加命令行选项
echo:输出结果,使用echo进行输出是为了更好的兼容性,因为python 2中的print是个语句,python 3中的print 是一个函数
运行上面的脚本,可以通过命令指定--name,--count的值,由于我们在option中指定了prompt选项,那么如果我们执行脚本没有传递name这个参数时,Click会提示我们在交互模式下输入
PS:与argparse模块一样,click也会为我们自动生成提示信息
************python clicktest.py --help
Usage: clicktest.py [OPTIONS]
Simple program that greets NAMEfora total of COUNT times.
Options:--count INTEGER Number of greetings.--name TEXT The person to greet.--help Show this message and exit.
其它参数:
option最基本的用法就是通过指定命令行选项的名称,从命令行读取参数值,再将其传递给函数。option常用的参数含义:
default: 设置命令行参数的默认值
help:参数说明
type:参数类型,可以是string、int、float等
prompt:当在命令行中没有输入相应的参数时,会更具prompt提示用户输入
nargs:指定命令行参数接受的值的个数
required:是否为必填参数
Click 2.0还加入了ANSI colors支持,如果输出结果到文件中还会自动去处ANSI codes。
要使用ANSI colors我们需要colorama包配合操作:
pip install colorama
示例:
click.echo(click.style("Hello World!", fg='green')) #click.secho('Hello World!', fg='green')
如果觉得《python执行脚本时的命令行选项_Python 处理脚本的命令行参数(二):使用click》对你有帮助,请点赞、收藏,并留下你的观点哦!