Donné:
import argparse
pa = argparse.ArgumentParser()
pa.add_argument('--foo')
pa.add_argument('--bar')
print pa.parse_args('--foo 1'.split())
comment puis-je
- faire au moins l' un des « foo, bar » obligatoire:
--foo x
,--bar y
et--foo x --bar y
sont très bien - rendre obligatoire au plus l'un des mots "foo, bar":
--foo x
ou--bar y
c'est bien,--foo x --bar y
n'est pas
Réponses:
Je pense que vous recherchez quelque chose comme l'exclusion mutuelle (au moins pour la deuxième partie de votre question).
De cette façon, seuls foo ou bar seront acceptés, pas les deux.
BTW, vient de trouver une autre question faisant référence au même type de problème.
J'espère que cela t'aides
la source
XOR
, en gros). Ma préoccupation initiale était que la vôtre ne résolvait qu'une seule des deux conditions.Si vous avez besoin d'une vérification qui n'est pas fournie par le module, vous pouvez toujours le faire manuellement:
la source