lqshow
10/15/2017 - 12:30 PM

argparse

python argparse - 命令行选项与参数解析模块

类似模块

使用argparse

import argparse

创建解析器对象

parser = argparse.ArgumentParser(description='This is a PyMOTW sample program')

添加参数

ArgumentParser.add_argument(name or flags...[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest]) 调用 add_argument() 方法添加参数

parser.add_argument('-d', '--debug', dest='debug', action='store_true',
                        default=False,
                        help='Enable debug info. (default: %(default)s)')
argumentdesc
name or flags选项字符串的名字或者列表,例如foo 或者-f, --foo
action在命令行遇到该参数时采取的基本动作类型
nargs应该读取的命令行参数数目
const某些action和nargs选项要求的常数值
default如果命令行中没有出现该参数时的默认值
type命令行参数应该被转换成的类型
choices参数可允许的值的一个容器
required该命令行选项是否可以省略(只针对可选参数)
help参数的简短描述
metavar参数在帮助信息中的名字
dest给parse_args()返回的对象要添加的属性名称

action参数

keydesc
store只是保存参数的值。这是默认的动作
store_const保存由const关键字参数指出的值
store_true和store_false是store_const的特殊情形,分别用于保存值True和False
append保存一个列表,并将每个参数值附加在列表的后面
append_const保存一个列表,并将const关键字参数指出的值附加在列表的后面
version打印出版本信息

解析命令行

使用 parse_args() 解析添加的参数 返回的是一个命名空间,包含传递给命令的参数 如果你的参数 dest 是 "myoption",那么你就可以args.myoption 来访问该值

args = parser.parse_args()
print(args.myoption)

Reference