私は、誰が誰であると言うことができないので、相互排他的なグループに複数のポジションの引数を意味をなさないことは知っています。しかし、私はそれに一つのポジションの議論を含める必要があります。私は必要なものargsの相互排他的なグループに1つの位置引数を含めるには?
:
位置value
は、デフォルトのアクション( "--include" の一種)である
$ myprogram -h
usage: myprogram [-h] [--delete value | --update value | value]
。 (引数なしの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')
が可能ということですか?
第二の試み:
真の値に--insert
デフォルトは必要とされて
myprogram {--insert|--update|--delete} 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