我知道,將多個位置參數放到一個互斥組中是沒有意義的,因爲你不能說誰是誰。但是我需要在其中包含一個位置參數。如何在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