En dehors du bricolage de la source, existe-t-il un moyen de contrôler le code d’état de sortie en cas de problème
lorsqu’il est appelé, par exemple, un commutateur requis manquant?
Réponses
Trop de publicités?Peut-être que la capture de `` l’exception serait une solution de contournement simple:
Fonctionne pour moi, même dans une session interactive.
Modifier: On dirait @Rob Cowie m’a battu jusqu’à l’interrupteur. Comme il l’a dit, cela n’a pas beaucoup de potentiel de diagnostic, à moins que vous ne vouliez devenir stupide et essayer de glaner des informations à partir du traçage.
À partir de Python 3.9, ce n’est plus si douloureux. Vous pouvez maintenant gérer cela via le nouvel ```` argument d’instanciation. Voici un exemple (légèrement modifié à partir des docs python : argparse#exit_on_error):
Vous pouvez utiliser l’une des méthodes sortantes : http://docs.python.org/library/argparse.html#exiting-methods. Cependant, il devrait déjà gérer les situations où les arguments ne sont pas valides (en supposant que vous ayez correctement défini vos arguments).
Utilisation d’arguments non valides :