使用 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