argparse中add_argument介绍

介绍

add_argument:运行程序时,给定参数,通过调用给定的参数执行程序
ArgumentParser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, metavar][, dest])
 

name of flags 是必须的参数,该参数接受选项参数或者是位置参数。

parser.add_argument('--inner-batch', help='inner batch size', choices=[1,5,10], default=5, type=int)
就比如上面的 '--inner-batch'  ,例如在启动程序demo.py时,在终端中输入 ./demo.py --inner-batch 10  就会将inner-batch这个选项的参数设置为10,不给参数时使用default参数5。

参数数量nargs默认为1个,也可以自己设定多个。

当选项接受1个或者不需要参数时指定nargs=’?',当没有参数时,会从default中取值。对于选项参数有一个额外的情况,就是出现选项而后面没有跟具体参数,那么会从const中取值

type为参数类型,例如int。

choices用来选择输入参数的范围,例如上面choices=【1,5,10】表示输入参数只能为1或5或10

required用来设置在命令中显示参数,当required为True时,在输入命令时需要显示该参数

help用来描述这个选项的作用

action表示该选项要执行的操作

dest用来指定参数的位置

metavar用在help信息的输出中

 

对于action:

a.py文件的代码如下:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument('--t', help=' ', action='store_true', default=False)

config = parser.parse_args()

print(config.t)
直接运行python a.py,输出结果False

运行python a.py --t,输出结果True

也就是说,action='store_true',只要运行时该变量有传参就将该变量设为True。
 

对于metavar:

元变量:它为帮助消息中的可选参数提供了不同的名称。在add_argument()中为metavar关键字参数提供一个值。

例如:

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument('--foo', metavar='YYY')
>>> parser.add_argument('bar', metavar='XXX')
>>> parser.parse_args('X --foo Y'.split())
Namespace(bar='X', foo='Y')
>>> parser.print_help()
usage:  [-h] [--foo YYY] XXX

positional arguments:
  XXX

optional arguments:
  -h, --help  show this help message and exit
  --foo YYY

参考-http: //www.usatlas.bnl.gov/~caballer/files/argparse/add_argument.html

https://stackoverflow.com/questions/19124304/what-does-metavar-and-action-mean-in-argparse-in-python

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值