python argparse - albo opcjonalne argumenty, albo żaden z nich
Mam program, który używa domyślnej nazwy i hasła. Używam argparse, aby umożliwić użytkownikowi określenie opcji wiersza poleceń, i chciałbym umożliwić użytkownikowi udostępnienie programowi innej nazwy i hasła do użycia. Mam więc:
parser.add_argument(
'-n',
'--name',
help='the login name that you wish the program to use'
)
parser.add_argument(
'-p',
'--password',
help='the password to log in with.'
)
Ale nie ma sensu podawać tylko nazwy lub tylko hasła, ale nie ma sensu podawać żadnego z nich. Zauważyłem, że argparse ma możliwość określenia, że dwa argumenty wzajemnie się wykluczają. Ale mam dwa argumenty, które muszą się pojawić razem. Jak uzyskać to zachowanie? (Znalazłem „grupy argumentów” wymienione w dokumentach, ale nie wydają się rozwiązywać mojego problemuhttp://docs.python.org/2/library/argparse.html#argument-groups)