【发布时间】:2015-07-08 19:15:39
【问题描述】:
在 Python 的 argparse 中,如何在仍然使用作为子解析器实现的命令的同时实现顶级参数?
我正在尝试实现 --version 参数来显示程序的版本号,但 argparse 给了我 error: too few arguments 因为我没有为其中一个子解析器指定子命令。
我的代码:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument(
'-v', '--version',
help='Show version.',
action='store_true',
default=False
)
subparsers = parser.add_subparsers(
dest="command",
)
list_parser = subparsers.add_parser('list')
parser.parse_args(['--version'])
输出:
usage: myscript.py [-h] [-v] {list} ...
myscript.py: error: too few arguments
【问题讨论】: