我正在尝试编写一个脚本,当用户选择使用一个选项(比如--foo)时,他们需要使用另一个选项(比如--bar)。此外,如果他们不选择 --foo 选项,则不需要 --bar 选项。我发现的最接近的是 add_subparsers() 方法,但具体来说似乎不是用于选项。
如果有的话,最好的方法是什么?
我正在尝试编写一个脚本,当用户选择使用一个选项(比如--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)