Python argparse: Comment faire pour insérer un saut de ligne dans le texte de l'aide?

Je suis en utilisant argparse en Python 2.7 pour l'analyse des options de saisie. L'une de mes options est un questionnaire à choix multiples. Je veux faire une liste dans son texte d'aide, par exemple,

from argparse import ArgumentParser

parser = ArgumentParser(description='test')

parser.add_argument('-g', choices=['a', 'b', 'g', 'd', 'e'], default='a',
    help="Some option, where\n"
         " a = alpha\n"
         " b = beta\n"
         " g = gamma\n"
         " d = delta\n"
         " e = epsilon")

parser.parse_args()

Cependant, argparse supprime les retours à la ligne et les espaces consécutifs. Le résultat ressemble à

~/Téléchargements:52$ python2.7.x.py -h 
utilisation: x.py [-h] [-g {a,b,g,d,e}] 

test 

les arguments optionnels: 
-h, --help affiche ce message d'aide et quitte 
-g {a,b,g,d,e} une option, où a = alpha b = bêta g = gamma d = delta e 
= epsilon 

Comment insérer des sauts de ligne dans le texte de l'aide?

  • Je n'ai pas de python 2.7 avec moi, donc je peux tester mes idées. Comment sur l'utilisation de texte d'aide dans le triple guillemets (""" """). Les nouvelles lignes de survivre en utilisant ce?
  • Pas de. Le décapage est effectué au moment de l'exécution par argparse, et non l'interprète, afin de changer de """...""" ne va pas aider.
  • Ceci a fonctionné pour moi
InformationsquelleAutor kennytm | 2010-10-04