python的参数解析argparse模块的学习

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

nargs介绍

猜你喜欢

转载自blog.csdn.net/qq_28485501/article/details/85472212