Skip to main content
 首页 » 编程设计

Python2.7 argparse 需要一个或两个选项

2025年05月04日7xiaohuochai

我正在尝试编写一个脚本,当用户选择使用一个选项(比如 --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)