2009-04-01 10 views
4

J'ai un script qui utilise le module cmd Python. Le module cmd utilise une chaîne multiligne à trois guillemets comme texte d'aide. Quelque chose comme ceciindentation d'une chaîne multiligne

def x(self, strags = None): 
    """class 
    help text here 
    and some more help text here""" 

Lors de l'exécution du script, la commande 'help x' imprimera la chaîne. Il imprimera cependant les nouvelles lignes devant les deux dernières lignes. Je peux surmonter cela en ne mettant pas ces lignes en retrait, mais cela rendra mon code ugl {y, ier}.

Comment surmonter ce problème d'indentation? Comment les codeurs pro Python gèrent-ils cela?

Répondre

2

Personnellement, j'essaie de suivre PEP 8 qui renvoie le lecteur à PEP 257 pour les conventions Docstring. Il a une section entière sur docstrings multi-ligne.

+0

Bien que ce soit toujours une bonne idée, cela ne résout pas le problème posé. Le découpage d'indentation qui se produit habituellement dans docstrings ne semble pas se produire dans le test d'aide du module cmd. Cela pourrait être un bug dans le module à moins qu'il y ait un moyen de le contourner. –

1

Je débrouille en ayant indentations cohérentes, comme ceci:

def x(self, strags = None): 
    """ 
    class 
    help text here 
    and some more help text here 
    """ 

Bien sûr, il faut deux lignes plus, mais il injecte aussi la clarté (à mon avis) en faisant le commentaire doc se démarquer tout à fait bien.

Questions connexes