【发布时间】:2013-03-29 06:52:48
【问题描述】:
我知道将多个位置参数放入一个互斥的组是没有意义的,因为你不能说谁是谁。但我需要在其中包含一个位置参数。
我需要什么:
$ 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')
【问题讨论】: