使用 argparse 设置互斥参数

如果你希望两个或多个参数互斥。你可以使用 argparse.ArgumentParser.add_mutually_exclusive_group() 功能。在下面的示例中,foo 或 bar 可以存在但不能同时存在。

import argparse

parser = argparse.ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument("-f", "--foo")
group.add_argument("-b", "--bar")
args = parser.parse_args()
print "foo = ", args.foo
print "bar = ", args.bar

如果你尝试运行指定 --foo--bar 参数的脚本,脚本将使用以下消息进行投诉。

error: argument -b/--bar: not allowed with argument -f/--foo