Python2.7 argparse不需要或同时需要两个选项

2024-04-27 01:12:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图编写一个脚本,当用户选择使用一个选项(比如--foo)时,他们就需要使用另一个选项(比如--bar)。另外,如果他们不选择--foo选项,则不需要--bar选项。我找到的最接近的方法是add\u subparsers()方法,但似乎不是用于选项。你知道吗

如果有的话,最好的方法是什么?你知道吗


Tags: 方法用户脚本addfoo选项barsubparsers
1条回答
网友
1楼 · 发布于 2024-04-27 01:12:47

我发现这种类型的东西有点太复杂了,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)

相关问题 更多 >