python argparse: Comment puis-je afficher automatiquement l'aide en cas d'erreur?
Question
À l'heure actuelle quand j'entre des options non valides ou omettez arguments de position, argparse me kicks retour à l'invite et affiche l'utilisation de mon application. Ceci est ok, mais je préfère afficher automatiquement l'aide complète la liste (qui explique les options, etc.) que demander à l'utilisateur type
./myscript.py -h
Merci!
Jamie
Autres conseils
Pour imprimer l'aide que vous pourriez vouloir utiliser: fonction print_help
sur l'instance ArgumentParser
parser = argparse.ArgumentParser()
(...)
parser.print_help()
Pour imprimer un message d'aide en cas d'erreur, vous devez créer votre propre sous-classe d'instance de ArgumentParser
, qui remplace la méthode de error()
. Par exemple comme ça:
class MyParser(argparse.ArgumentParser):
def error(self, message):
sys.stderr.write('error: %s\n' % message)
self.print_help()
sys.exit(2)
Lorsque cet analyseur rencontre la ligne d'argument Unparseable il imprimera aide.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow