【发布时间】:2020-10-03 05:05:15
【问题描述】:
我正在尝试在 Python 中构建一个 CLI,并且我有一个参数 (--arg),我想在多个子命令(req 和 opt)中重复使用它。
但是一个子命令 (req) 必须需要 --arg 而另一个 (opt) 不需要。我如何解决这个问题而不必对同一论点制作两个版本?
import argparse
arg_1 = argparse.ArgumentParser(add_help=False)
arg_1.add_argument('-a', '--arg', required=True,
help='reusable argument')
parser = argparse.ArgumentParser()
subp = parser.add_subparsers()
cmd_require = subp.add_parser('req', parents=[arg_1],
help='this subcommand requires --arg')
cmd_optional = subp.add_parser('opt', parents=[arg_1],
help='this subcommand doesn\'t require --arg')
【问题讨论】:
标签: python arguments command-line-interface argparse