2011-01-18 11 views
5

que tiene algo de texto, por ejemplo:texto dividido en líneas por el número de caracteres

'This is a line of text over 10 characters' 

que necesito para ser roto en las líneas que consisten en no más de 10 caracteres sin romper las palabras a menos que necesito (por ejemplo una línea con trabajo que contiene más de 10 caracteres).

La línea anterior se convertiría en:

'This is a\nline of\ntext over\n10\ncharacters' 

Es un problema bastante simple, pero me gustaría escuchar cómo la gente lo harían. Voy a comenzar a codificarlo y a publicar mi solución dentro de un tiempo.

Respuesta

16

Usted necesita textwrap

>>> import textwrap 
>>> s = 'This is a line of text over 10 characters' 
>>> textwrap.fill(s, width=10) 
'This is a\nline of\ntext over\n10\ncharacters' 
+0

Debería haber imaginado que habría una biblioteca para ello. Aclamaciones. –

Cuestiones relacionadas