63 votes

Python argparse et contrôle/remplacement du code d’état de sortie

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?

41voto

Greg Haskins Points 2553

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.

27voto

shellster Points 323

À 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):

2voto

zeekay Points 22640

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 :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X