誰が誰であるかを言うことができないため、複数の位置引数を相互に排他的なグループにすることは意味がありません。しかし、その中に 1 つの位置引数を含める必要があります。
必要なもの:
$ myprogram -h
usage: myprogram [-h] [--delete value | --update value | value]
positionalvalue
がデフォルトのアクションです (「--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')
それは可能ですか?
2 回目の試行:
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')