python命令行解析工具argparse模块【3】

当ArgumentParser生成帮助信息的时候,它需要通过某种方式来引用参数,对于位置参数,参数直接引用,对于可选参数,将其转换成大写再引用。

>>> parser = argparse.ArgumentParser()
>>> parser.add_argument(‘–foo’)
>>> parser.add_argument(‘bar’)
>>> parser.parse_args(‘X –foo Y’.split())
Namespace(bar=‘X’, foo=‘Y’)
>>> parser.print_help()
usage:[-h][–foo FOO] bar
positional arguments:
bar
optional arguments:
-h,–help show this help message and exit
–foo FOO
    除此之外,还可以通过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参数需要使用多次,这时可以提供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
    11.dest