我知道,将多个位置参数放到一个互斥组中是没有意义的,因为你不能说谁是谁。但是我需要在其中包含一个位置参数。如何在argparse互斥组中包含一个位置参数?
我需要什么:
$ 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')
+1好方法 – msw 2013-04-07 15:51:36