我知道将多个位置参数放到一个相互排斥的组中是没有意义的,因为你不能说谁是谁。但我需要在其中包含一个位置参数。
我需要的:
$ myprogram -h
usage: myprogram [-h] [--delete value | --update value | value]
其中位置value
是默认操作(“--include”的种类)。(myprogram
没有参数也必须有效)。
我的第一次尝试(这不起作用):
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--delete', metavar='value')
group.add_argument('--update', metavar='value')
group.add_argument('value')
那可能吗?
第二次尝试:
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--delete', action='store_true')
group.add_argument('--update', action='store_true')
group.add_argument('--insert', action='store_true', default=True)
group.add_argument('value')