python-Click库
Click
Click全名Command Line Interface Creation Kit,是一个用于构建命令行的第三方库,相较于Python自带的Argparse更加友好和易用。
官方文档:Click | The Pallets Projects
PyPI:Click · PyPI
安装
pip install click
用法
引用库import click
@click.command()
使用@click.command()
修饰想要构建为命令行命令的函数
'''
filename: test.py
'''
import click
@click.command() # 为函数`test()`添加修饰器
def test():
click.echo("测试函数,没有什么卵用")
if __name__ == "__main__":
test()
添加后和没有加没有任何不同,因为没有使用@click.option()
进行命令行选项的进一步设置
使用click.echo()
是为了更好的终端兼容性
@click.option()
使用@click.option()
增加修饰选项
'''
filename: test.py
'''
import click
@click.command() # 为函数`test()`添加修饰器
@click.option(
"-n",
"--name",
prompt="请输入你的名字",
default="无名氏",
help="你的名字。默认值为“无名氏”",
type=str,
) # 设置参数
def test(name):
click.echo(("你输入的名字为:{}").format(name)) #输出
if __name__ == "__main__": # 程序入口
test()
lkhsss@LKH-PC:~$ python test.py -n LKH
你输入的名字为:LKH
lkhsss@LKH-PC:~$ python test.py
请输入你的名字 [无名氏]: LKH
你输入的名字为:LKH
-
@click.option()
接受一种参数多种名字,上例的-n
和--name
都指向了一个函数 -
使用
prompt
指定必须要求输入的参数在没有传入时显示的提示-
当使用了
prompt
时,click会认为该参数为必须项,会主动询问参数的值
-
-
使用
help
指定该参数的帮助信息 -
使用
type
指定传入数据的类型- 使用
type=click.Choice['A','B']
限制该参数只能从A和B中选择
- 使用
菜单选项
配置好参数后,click自动为我们准备了--help
选项,其中包含了我们在help
中加入的帮助信息
lkhsss@LKH-PC:~$ python test.py --help
Usage: test.py [OPTIONS]
Options:
-n, --name TEXT 你的名字。默认值为“无名氏”
--help Show this message and exit.
示例
'''
filename: test.py
author: Lkhsss
'''
import click
@click.command() # 为函数`test()`添加修饰器
@click.option(
"-n",
"--name",
prompt="请输入你的名字",
default="无名氏",
help="你的名字,传入参数后将显示在输出中。默认值为“无名氏”",
type=str,
)
# 选择可以传入`test()`的参数
# 可以使用多个参数名,输入"-n","--name"都会指向`test()`函数
# 使用default参数设置参数默认值
# 使用help参数设置帮助菜单
@click.option(
"-c",
"--count",
prompt="请输入循环次数",
default="1",
help="显示名字次数,默认值为1",
type=int
)
def test(name, count):
for i in range(count):
click.echo(("{},你好。").format(name))
click.echo("这是一个示例函数,可以输出你在命令行中输入的名字,用来测试click库")
if __name__ == "__main__":
test()
python-Click库
https://lkhsss.github.io/编程/Python/库/python-click库/