add_argument函数的metavar参数

2020年7月3日 / 605次阅读 / Last Modified 2020年7月3日
argparse模块

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

metavar参数可以让命令的帮助信息更好看一些!

初次之外,还有个功能可以关注,对于有nargs参数的命令行参数,可以用metavar来设置每一个具体的参数的名称:

>>> parser = argparse.ArgumentParser(prog='PROG')
>>> parser.add_argument('-x', nargs=2)
>>> parser.add_argument('--foo', nargs=2, metavar=('bar', 'baz'))
>>> parser.print_help()
usage: PROG [-h] [-x X X] [--foo bar baz]

optional arguments:
 -h, --help     show this help message and exit
 -x X X
 --foo bar baz

-x参数没有使用metavar,显示出来的帮助信息就是两个X,而--foo参数也可以接收两个参数,这两个参数的名称就用metavar进行了具体的定义,看起来好多了。本文代码示例都是python官方文档中的。

-- EOF --

本文链接:https://www.pynote.net/archives/2119

留言区

《add_argument函数的metavar参数》有2条留言

电子邮件地址不会被公开。 必填项已用*标注

  • 麦新杰

    似乎命令行有个约定俗成的规矩:全大写的表示参数内容,argparse模块默认就是这样的。 [回复]

  • 麦新杰

    action='store_true'的参数,就是没有使用metavar的必要。 [回复]


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top