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的参数属性的名称(一般不用)