add_argument()函数
ArgumentParser.add_argument(name or flags[, action][, nargs][, const][, default][, type][,choices][, required][, help][, metavar ][, dest])
- name or flags:Either a name or a list option strings,e.g. foo or -f,–foo.
- action:命令行有此参数的时候 应该采取的操作
- nargs:使用命令行参数的数量
- const:操作和标记选择所需要的常量
- default:如果空缺参数时产生的值
- type:命令行值应该转换的类型
- choices:参数允许值的容器
- required:是否可以省略参数
- help:对参数的简短的描述
- metavar:变量在使用上下文中的名字
- dest:添加到parse_args()返回的对象中的属性的名称。
参数的类型
- 位置参数 :像文件名列表一样
parser.add_argument(’ bar '),不需要指明参数变量名字。(类似于函数的位置参数和可选参数一样) - 可选择参数 :-f 或者 --f
parser.add_argument(’ -f ')
在传递参数时,需要明示的写出参数的名字,比如 -f FOO。结果就是将f = 'FOO'
action
ArgumentParser对象会将一个命令行的参数与一个动作绑定。这些动作可以做任何事情,尽管大多数的动作只是向parse_args()返回的对象添加一个属性。
提供的参数如下:
- store
存储参数的变量值,这个是默认的动作,比如:
parser = argparse.ArgumentParser()
parser.add_argument('--foo')
parser.parser_args('--foo 1'.split())
输出结果:Namesapce(foo= ‘1’)
- store_const
存储由const指定的关键字。
parser = argparse..ArgumentParser()
parser.add_argument('--foo',action ='store_const',const = 42)
parser.parse_args(['--foo'])
输出结果:Namesapce(foo= 42)
- store_true & store_false
存储bool类型的值:True 或者 False
parser = argparse.ArgumentParser() parser.add_argument('--foo', action='store_true')
parser.add_argument('--bar', action='store_false')
parser.add_argument('--baz', action='store_false')
parser.parse_args('--foo --bar'.split())
Namespace(foo=True, bar=False, baz=True)
- append
- append_const
- count
- help
- version