我正在尝试编写一个脚本,当用户选择使用一个选项(比如 --foo)时,他们需要使用另一个选项(比如 --bar)。此外,如果他们不选择 --foo 选项,则不需要 --bar 选项。我发现的最接近的是 add_subparsers() 方法,但似乎不是专门用于选项的。
如果有的话,最好的方法是什么?
请您参考如下方法:
我发现这种类型的东西对于 argparse 来说太复杂了,无法单独处理。我所做的是这样的:
parser = argparse.ArgumentParser()
parser.add_argument("--foo", action='store_true', help="Foos something. Must use --bar if --foo is used.")
parser.add_argument("--bar", action='store_true', help="Bars something.")
parsed_args = parser.parse_args()
if parsed_args.foo and not parsed_args.bar:
sys.stderr.write("ERROR: Must use --bar if using --foo\n")
parser.print_help()
sys.exit(1)
