Python - Dividir cadena de texto en lineas

   
Vista:

Dividir cadena de texto en lineas

Publicado por Manuel mreixach@gmail.com (3 intervenciones) el 04/04/2014 13:55:32
Hola a todos.
Estoy trabajando en la creación de un Bot de charla con Python y AIML.
El caso es que algunas respuestas del Bot son muy largas.
Quisiera que la respuesta si es mayor a 58 caracteres la fraccionase en 2 lineas
es decir, una linea con los 58 primeros caracteres y otra linea con el resto.
Después de varias pruebas no he conseguido resultados.
Podrías ayudarme?
Muchas gracias y un cordial saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

Dividir cadena de texto en lineas

Publicado por xve (1235 intervenciones) el 04/04/2014 16:05:28
Hola Manuel, para ello, puedes utilizar el objeto textwrap...

1
2
3
import textwrap
a="texto a dividir en cadenas de 5 caracteres"
textwrap.wrap(a,5)

Te devolverá una lista así:
1
['texto', 'a div', 'idir', 'en ca', 'denas', 'de 5 ', 'carac', 'teres']

Es esto lo que buscabas?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dividir cadena de texto en lineas

Publicado por Manuel mreixach@gmail.com (3 intervenciones) el 04/04/2014 16:47:07
Hola, gracias por contestar.
No es bien eso.
Intentaré explicarme mejor.
En el programa hay una variable que recoge la respuesta del Bot.
Esa respuesta se vuelca en un Listbox y si es mayor de 59 caracteres el resto se solapa a la derecha y no se puede ver.
Mi idea era que una vez la variable tenga la respuesta contar los caracteres y pasar al listbox los primeros 59 en una linea y el resto en otra linea.
Creo que debería utilizar la función Len, pero a pesar de las pruebas que he hecho no lo consigo.
Gracias por tu atención.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve

Dividir cadena de texto en lineas

Publicado por xve (1235 intervenciones) el 05/04/2014 11:26:41
Hola Manuel, si lo que quieres es partir una linea... haber si te sirve esto:

1
2
3
4
a="texto largo para partir en dos lineas a partir del caracter cinquenta y nueve"
if len(a)>59:
    print a[:59]
    print a[59:]

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Dividir cadena de texto en lineas

Publicado por Manuel (3 intervenciones) el 05/04/2014 18:21:59
Hola xve.
Gracias por tu respuesta. Es justo lo que buscaba y necesitaba.
Estoy intentando implementarlo en mi script.
De momento lo he colocado en un lugar que afecta al fichero que recoge las conversaciones.
Cuando abro ese fichero con el bloc de notas, efectivamente cuando llega al caracter 59 salta a la siguiente línea.
Ahora voy a ver si logro colocarlo en la parte que afecta al Listbox.
Te informaré en cuanto lo tenga arreglado.
Gracias y saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar