2

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

如果有的话,最好的方法是什么?

4

1 回答 1

1

我发现这种类型的东西对于 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)
于 2013-04-18T23:28:36.763 回答