2020年7月3日 / 3,382次阅读 / 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条留言
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记
似乎命令行有个约定俗成的规矩:全大写的表示参数内容,argparse模块默认就是这样的。 [ ]
action='store_true'的参数,就是没有使用metavar的必要。 [ ]