夏令营8.2--python argparse模块

本次实例在Python3.7的环境下运行!
1、argparse:
argparse库是python标准库中用来处理命令行参数的库,是python的一个命令行解析包,用于编写可读性非常好的程序

接着:
创建解析器,在桌面创建一个python文件(a.py);

夏令营8.2--python argparse模块_第1张图片

然后打开终端(windows+R)输入cmd;

夏令营8.2--python argparse模块_第2张图片
因为我把文件放在桌面所以直接在终端的桌面输入命令行

python3 a.py --help
夏令营8.2--python argparse模块_第3张图片
或:
pythond3 a.py -h:

夏令营8.2--python argparse模块_第4张图片

2、argparse.ArgumentParser()方法参数:

prog=None 程序名,若想更改usage后出现的a.py,可使用此参数

description=None help时显示的开始文字

epilog=None help时显示的结尾文字

parents=[] 若与其他参数的一些内容一样,可以继承

formatter_class=argparse.HelpFormatter 自定义帮助信息的格式

prefix_chars=’-‘ 命令的前缀,默认是‘-‘

夏令营8.2--python argparse模块_第5张图片
剩下的以后再补……

3、添加参数

1) 位置参数(positional arguments):默认,程序根据参数出现的位置确定

夏令营8.2--python argparse模块_第6张图片
在这里插入图片描述
2)可选参数(optional arguments):程序已提前定义好的参数,不一定需要

ArgumentParser通过调用add_argument()方法来填充有关程序参数的信息;parse_args()调用时会存储和使用此信息;parse_args()运行时,会用’-‘来判断是否为可选参数

夏令营8.2--python argparse模块_第7张图片
打开终端输入命令行:

夏令营8.2--python argparse模块_第8张图片若输入"python3 a.py 2333"时:

在这里插入图片描述
会报错,因为没有添加位置参数,

3)add_argument()参数信息:

action:此参数不存在时默认值为store,存储参数的值,其他值:
store_const: 值存放在const中
store_true(store_false): 值存为true(false)
append: 存为列表
append_const: 存为列表,会根据const关键参数进行添加
count: 统计参数出现的次数

help: help信息
nargs: 参数的数量
*: 任意多个
+: 一个或更多
?: 首先从命令行获得参数(0或1),若没有从const获得,然后从default获得
num:指定参数的数量
const: 保存一个常量
default: 如果命令行中没有出现这个参数,则使用的默认值
type: 参数类型;默认的参数类型为str,如果要进行数学计算,需要对参数进行解析后进行类型转换
required: 参数是否必选
dest: 自定义属性名称
metavar: 参数的名字,在显示帮助信息时显示
choices: 可供选择的值;值为列表或迭代器

实例:
action=‘store_true’

夏令营8.2--python argparse模块_第9张图片
夏令营8.2--python argparse模块_第10张图片-v没有指定任何参数也可,其实存的是True和False,如果出现,则其值为True,否则为False

type类型:

夏令营8.2--python argparse模块_第11张图片

夏令营8.2--python argparse模块_第12张图片
第一个测试为计算2的平方数,类型为int,正常
第二个测试为一个非int数,报错
第三个为打印帮助信息

你可能感兴趣的:(夏令营8.2--python argparse模块)