【发布时间】:2015-12-11 10:29:07
【问题描述】:
我已经查看了几十个类似的 SO 问题,但没有找到合适的解决方案,所以如果出现重复请见谅。 我有一个类似this one的问题
我想要一个解析器+子解析器对,如果子解析器“激活”,则使用 --help 选项会导致两者都显示帮助。
我能够获得完整(解析器 + 子解析器)帮助的唯一方法是:
common_parser = argparse.ArgumentParser(add_help=False)
common_parser.add_argument('-c', required = True)
parser = argparse.ArgumentParser(parents=[common_parser])
subparsers = parser.add_subparsers(dest="sub")
subparser = subparsers.add_parser("sub_option", parents=[common_parser])
subparser.add_argument('-o', required = False)
settings = parser.parse_args()
但是脚本需要输入两次-c 选项(显然对于解析器和子解析器)。如果我不使用parents,那么我会得到正常行为,但我得到的子解析器帮助不只包含-o 描述(我还希望显示-c)
附: Python 2.7
【问题讨论】:
标签: python python-2.7 argparse