Tôi biết rằng không có ý nghĩa nhiều đối số vị trí thành một nhóm loại trừ lẫn nhau vì bạn không thể nói ai là ai. Nhưng tôi cần bao gồm MỘT lý lẽ vị trí vào đó.Làm cách nào để đưa một đối số vị trí vào nhóm loại trừ lẫn nhau của argparse?
Những gì tôi cần:
$ myprogram -h
usage: myprogram [-h] [--delete value | --update value | value]
đâu vị trí value
là hành động mặc định (loại "--bao gồm"). (myprogram
không có đối số cũng phải hợp lệ).
nỗ lực đầu tiên của tôi (điều này không hoạt động):
parser = ArgumentParser()
group = parser.add_mutually_exclusive_group()
group.add_argument('--delete', metavar='value')
group.add_argument('--update', metavar='value')
group.add_argument('value')
Là có thể?
Thứ hai nỗ lực:
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 cách tiếp cận tốt – msw