设置一个解析器
import argparse
parser = argparse.ArgumentParser(
# prog - (default: sys.argv[0])程序的名字,一般不需要修改,另外,如果你需要在help中使用到程序的名字,可以使用%(prog)s (default: sys.argv[0])
# usage - 使用程序的帮助信息 (default: generated from arguments added to parser)
# description - 命令行帮助的开始文字,大部分情况下,我们只会用到这个参数 (default: none)
# epilog - 命令行帮助的结尾文字 (default: none)
# parents - 类型是list,如果这个parser的一些选项跟其他某些parser的选项一样,可以用parents来实现继承,例如parents=[parent_parser]
# formatter_class - 自定义帮助信息的格式(description和epilog)。默认情况下会将长的帮助信息进行<自动换行和消除多个连续空白>
# prefix_chars - 前缀可选参数字符集(输入变量带特殊字符) (default: ‘-‘)
# fromfile_prefix_chars - 如果你希望命令行参数可以从文件中读取,就可能用到。例如,如果fromfile_prefix_chars='@',
命令行参数中有一个为"@args.txt",args.txt的内容会作为命令行参数 (default: None)
# argument_default - 设置一个全局的选项的缺省值,一般每个选项单独设置,所以这个参数用得少 (default: None)
# conflict_handler - 不建议使用。这个在极端情况下才会用到,主要是定义两个add_argument中添加的选项的名字发生冲突时怎么处理,默认处理是抛出异常。
# add_help - 是否增加-h/-help选项 (default: True),一般help信息都是必须的 (default: True)
)
add_argument ----定义如何解析单个命令行参数
parser.add_argument(
# action - 在命令行遇到此参数时要采取的基本动作类型.
# store 保存参数值,可能会先将参数值转换成另一个数据类型。若没有显式指定动作,则默认为该动作。
# store_const #保存一个被定义为参数规格一部分的值,而不是一个来自参数解析而来的值(action='store_const',const='aaa',const为默认值),
这通常用于实现非布尔值的命令行标记
# store_ture/store_false 保存相应的布尔值。这两个动作被用于实现布尔开关。
#action = 'store_ture' 当未接收参数时, namespace 显示值为false ,接收为True
#action = 'store_false' 与 store_ture 相反
# append 将值保存到一个列表中。若参数重复出现,则保存多个值。
# 脚本执行时必须跟多个参数例如, python a.py -f a -f b -f c
# append_const 将一个定义在参数规格中的值保存到一个列表中,可重复添加。
# version 打印关于程序的版本信息,然后退出
# nargs - 返回一个list,指定这个参数后面的value有多少个,例如,我们希望使用-n 1 2 3 4
# parser.add_argument('--foo', nargs=4)
# 执行脚本 python -foo 1 23 4 5 ---> 返回 Namespace(foo=['1', '23', '4', '5']).
# const - #1.当add_argument(action='store_const|append_const' 时, const 为返回对象的常量值)
# 2.当add_argument(添加选择项例如"like -f or --foo"和nargs = "?"时,这将创建一个可选参数,该参数可以由零或一个命令行参数跟随,
#当解析命令行选项字符串为空时,用const值替代)
# default - 如果命令行没有出现这个选项,那么使用default指定的默认值.
# type - 如果希望传进来的参数是指定的类型(例如 float, int or file等可以从字符串转化过来的类型),可以使用
parser.add_argument("-x", type=int)
# choices - 设置参数值的范围,如果choices中的类型不是字符串,记得指定type
# parser.add_argument("-y", choices=['a', 'b', 'd'])
# required -required - 通常-f这样的选项是可选的,但是如果required=True那么就是必须的了
# parser.add_argument("-z", choices=['a', 'b', 'd'], required=True)
# help - 设置这个选项的帮助信息
# metavar - 参数的名字,在显示 帮助信息时才用到.
# parser.add_argument("-o", metavar="OOOOOO")
#dest - 设置这个选项的值就是解析出来后放到哪个属性中,例子如下:
# parser.add_argument("-q", action='store_const',dest="world",const='aaa')
#results = parser.parse_args()
#print(results.world) -> aaa ,其中store_const:存储值在参数的const部分指定,results.world 所展示的就是const的值
)
注:
只是熟悉了下参数, 具体用法请参照如下两个连接 或者 python 官方文档 ,如有错误请,欢迎指出
参照如下链接:
http://www.jb51.net/article/67158.htm
http://www.2cto.com/kf/201208/149418.html