J'essaie de trouver un moyen d'avoir des arguments positionnels argparse être mutuellement exclusifs à un argument optionnel.Argparse option args override positionnel
Par exemple:
./adder 20 32
Output: 52
./adder --interactive
adder>
En ce moment, si je devais juste essayer '--interactive', il me dit que je manque des arguments de position.
code Exemple:
parser = argparse.ArgumentParser()
parser.add_argument('a', metavar='First')
parser.add_argument('b', metavar='Second')
parser.add_argument('--interactive')
parser.parse_args()
Je me demandais s'il y a une façon élégante de le faire (de préférence en utilisant la fonctionnalité argparse) de sorte que « --interactive » désactive l'exigence d'utiliser les deux arguments de position.
pouvons-nous voir le code réel où vous spécifiez les arguments et autres? –
Juste ajouté le code exemple – Princey
avez-vous essayé 'add_argument ('parms', nargs = '*')'? les arguments sont rassemblés dans une liste, si l'argument positional est absent, la liste est vide. – georgexsh