2009-08-19 14 views
11

Probablemente haya una respuesta fácil para esto, pero no estoy seguro de cómo sacarlo de mis búsquedas.Cadenas envueltas en la impresión de Python PEP8 sin guión

Me atengo a PEP8 en mi código python, y actualmente estoy usando OptionParser para un script que estoy escribiendo. Para evitar que las líneas vayan más allá de una de 80, utilizo la barra invertida cuando es necesario.

Por ejemplo:

if __name__=='__main__': 
    usage = '%prog [options]\nWithout any options, will display 10 random \ 
    users of each type.' 
    parser = OptionParser(usage) 

Ese guión después de los resultados de barra invertida en:

~$ ./er_usersearch -h 
Usage: er_usersearch [options] 
Without any options, will display 10 random  users of each type. 

Esa brecha después de errores "al azar" me. Podría hacer:

if __name__=='__main__': 
    usage = '%prog [options]\nWithout any options, will display 10 random \ 
users of each type.' 
    parser = OptionParser(usage) 

Pero eso me molesta tanto. Esto parece tonto:

if __name__=='__main__': 
    usage = ''.join(['%prog [options]\nWithout any options, will display', 
        ' 10 random users of each type.']) 
    parser = OptionParser(usage) 

Debe haber una manera mejor?

Respuesta

1

probar esto:

if __name__=='__main__': 
    usage = '%prog [options]\nWithout any options, will display 10 random ' \ 
    'users of each type.' 
    parser = OptionParser(usage) 
+0

La barra no es necesario fusionar cotizaciones juntos. – bobpaul

+0

sí, pero probablemente lo hace más obvio. Yo no lo omitiría yo mismo. – Peter

3

Esto funciona:

if __name__=='__main__': 
    usage = ('%prog [options]\nWithout any options, will display 10 random ' 
    'users of each type.') 
    parser = OptionParser(usage) 

Aunque me pongo a cabo de esta manera:

if __name__=='__main__': 
    usage = ('%prog [options]\n' 
      'Without any options, will display 10 random users ' 
      'of each type.') 
    parser = OptionParser(usage) 

(Así que iniciar una nueva línea cuando hay una \n en la cadena, así como cuando necesito palabra envolver el código fuente.)

Cuestiones relacionadas