python 之 click 包,设置命令行参数
click包一般用于带参数的python脚本运行,是通过装饰器来把一个函数方法装饰成命令行接口的,
常见的装饰器有:
1. @click.command():将其下面的函数方法装饰为命令行接口选项,(我们称为一个command实例或子命令),实现在命令行运行时可选
2. @click.option(’--xxx’, '-x', default=1,prompt=‘Your name’,type=int,nargs=1,help=‘Number of greetings)
参数释义:--xxx:即下列函数的形参
-x:形参在命令行里的缩写
default:默认值
prompt:若未输入,就提示该内容
type:参数类型
nargs:指定命令行参数接收的值的个数, -1 表示可以接收多个参数
help:编辑该参数的帮助
例:
import click@click.command() # 将函数装饰为命令
@click.option('--n', '-nn', default=1) # 设置函数执行时的参数
def dots_n(n):click.echo('.' * n)if __name__ == '__main__':dots_n()
3. @click.group():装饰器把主函数装饰为可以拥有多个子命令的 Group
对象,即脚本文件里有多个函数方法(可装饰为command实例),不同的 command 实例可以关联到group中。group下绑定的命令就成为了它的子命令。
例:
import click
@click.group() # 将主函数封装到一个group对象
def main():pass
@main.command() # 将函数装饰为命令,并将该命令自动关联到main这一group对象下,成为子命令
@click.option('--n', '-nn', default=1) # 设置函数执行时的参数
def dots_n(n):click.echo('.' * n)@main.command()
@click.option('--name', '-a', default='ZJW', type=str, prompt='Your Name')
def your_name(name):click.echo(name)
if __name__ == '__main__':main()
这里,不使用'main.command()'自动关联,可以使用main.add_command()手动关联,例:
import click
@click.group() # 将main函数装饰为一个group对象
def main():pass
@click.command() # 将下列函数装饰为命令
@click.option('--n', '-nn', default=1) # 设置函数参数
def dots_n(n):click.echo('.' * n)@click.command()
@click.option('--a', '-aa', default='ZJW', type=str, prompt='Your Name')
def your_name(a):click.echo(a)
main.add_command(dots_n) # 将命令关联到main这一group对象下
main.add_command(your_name)
if __name__ == '__main__':main()
运行:
python test.py dots-n --n 5 或
python test.py dots-n -n 5
python test.py your-name --name zjw 或
python test.py your-name -a zjw
这里值得注意的时,函数名里的下划线‘_’要在输入时变为‘-’,否则函数会报参数不对的错误。
并且我们如果不输入command的话,会报下列错误:
Usage: test.py [OPTIONS] COMMAND [ARGS]...Options:--help Show this message and exit.Commands:dots-nyour-name
参考:https://www.cnblogs.com/alexkn/p/6980400.html
python 之 click 包,设置命令行参数相关推荐
- 【Python】 配置解析ConfigParser 命令行参数解析optparser
ConfigParser ConfigParser包装了配置文件的读取和写入,使得python程序可以更加轻松操作配置文件了.这里的配置文件是指.ini的那种文件,基本格式如下 [section_a] ...
- python中config命令_【Python】 配置解析ConfigParser 命令行参数解析optparser
ConfigParser ConfigParser包装了配置文件的读取和写入,使得python程序可以更加轻松操作配置文件了.这里的配置文件是指.ini的那种文件,基本格式如下 [section_a] ...
- golang flag包(命令行参数解析)
1.1 使用示例: 我们以 nginx 为例,执行 nginx -h,输出如下: nginx version: nginx/1.10.0 Usage: nginx [-?hvVtTq] [-s sig ...
- Python中最好用的命令行参数解析工具
Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要解析一个命令行参数解 ...
- python 命令行参数-Python 中最好用的命令行参数解析工具
Python 做为一个脚本语言,可以很方便地写各种工具.当你在服务端要运行一个工具或服务时,输入参数似乎是一种硬需(当然你也可以通过配置文件来实现). 如果要以命令行执行,那你需要一个命令行参数解析的 ...
- java怎么设置命令行参数_java 命令行参数
-Xmixed 混合模式执行 (默认) -Xint 仅解释模式执行 -Xbootclasspath: 设置搜索路径以引导类和资源 -Xbootclasspath/a: 附加在引导类路径末尾 -Xboo ...
- 【Python】Python中好用的命令行参数解析模块
大家好,我是小喵! 关注和星标『AI算法小喵』,和小喵一起学习AI算法!
- python执行脚本时的命令行选项_Python 处理脚本的命令行参数(二):使用click
安装click pip install click 使用步骤 使用@click.command() 装饰一个函数,使之成为命令行接口 使用@click.option() 等装饰函数,为其添加命令行选项 ...
- go(flag+cobra)——python(argpase模块)——命令行参数
目录 python sys.argv argparse模块 ArgumentParse类 add_argument()常用参数 Q&A 终端打印中文帮助信息出现乱码 Go os.Args fl ...
最新文章
- 请教提高代码编写组织能力代码优化、精明
- python面试-python面试问题集锦
- MicroPython支持图形化编辑了:Python Editor带你轻松玩转MicroPython
- 成功解决pillow模块内生成的非UTF-8格式(比如label中有汉字时)
- 机器学习导论(张志华):条件期望
- 使用ImpromptuInterface反射方便的创建自定义DfaGraphWriter
- 解决“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误
- CVPR | BASNet:边缘感知的显著性物体检测
- JavaScript JSON 对象使用详解、JSON. parse()、JSON. stringify()
- linux重新识别逻辑卷,教你认识LVM逻辑卷
- 创维智能网络机顶盒e950_拆创维E950机顶盒
- java文字版格斗游戏
- WireShark抓包原理解析及抓包实战教程
- 如何把一个eclipse安装包放到eclipse中
- signature=bf81fe7f4f17ad23bbd6aa8f365d3bc7,【迅雷高端用户入门手册】(第七集)简单分析迅雷崩溃...
- python画人脸代码_10行代码实现python人脸识别
- 面向需求编程才是常态,聊聊我的经历
- 如何通过U盘给笔记本安装Ubuntu系统
- JetBrains PyCharm 设置显示行号
- Liunx之网络编程