python标准库模块argparse用于解析命令行参数。
一、使用argparse的第一步是创建一个 ArgumentParser对象,这个ArgumentParser对象中会保存所有将命令行参数转为python数据类型的必需信息。使用 argparse.ArgumentParser创建ArgumentParser对象。
通过查看发现参数
1.prog 用来help信息中描述程序的名称,默认为sys.argv[0]
2.usage:描述程序用途的字符串,默认根据参数自动生成信息,(会覆盖前面prog的参数)最好将参数prog传进来
3.description: help 信息前显示的信息
4.epilog:help信息后显示的信息
5.parent 是由ArgumentParser对象组成的列表,它的arguments选项会继承到新的ArgumentParser对象中,类似于继承
6.formatter_class=HelpFormatter,help的输出格式
7.prefix_chars='-',参数的前缀,默认为“-”
8.add_help=True 是否添加-h/-help 选项,默认为True
二、add_argumenet()方法
1.name或flags 指定一个可选参数和位置参数,可选参数是以“-”为前缀的
2.action参数指定如何处理命令行参数
a.默认action = "store"
b.action = “store_conset” 表示参数为保存const关键字指定的值(-c后无需加参数值)若无-c参数,结果为None
c.action = "store_true" 或“store_false” 与store_const一致,之保存True或False (如下图所示有-c参数为True,反之为False)
d.action=“append” 将形同参数不同的值保存在list中
2.nargs 指定参数命令行的参数数目,默认为1
3.const 前面就有,某写action和nargs选项要求的常数值
4.default 如果命令行中没有出现该参数是默认值
5.type 对命令行参数应该转换格式(tyep=int)
6.choices,对命令行参数限定在一个范围内,超出范围报错
7.required 指定命令行参数是否必须
8.help 参数的简短描述
9.dest 允许自定义ArgumentParser的参数属性的名称(一般不用)