Python - Dividir cadena de texto en lineas

 
Vista:
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por Manuel (7 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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por xve (1646 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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por Manuel (7 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
Val: 2.239
Plata
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por xve (1646 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
sin imagen de perfil
Val: 6
Ha disminuido su posición en 19 puestos en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por Manuel (7 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

Dividir cadena de texto en lineas

Publicado por Celestino Carpio (1 intervención) el 22/11/2019 23:06:08
Por favor me pueden ayudar ? Necesito dividir en una palabra por linea varios párrafos. Asi :

los
niños
son
la
esperanza
del
mundo
por
eso
debemos
apoyarlos
en
todo
lo
que
ellos
necesiten
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 César
Val: 41
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

Dividir cadena de texto en lineas

Publicado por César (20 intervenciones) el 29/11/2019 21:30:46
Hola Celestino.

A ver con esto:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
print("""Programa para hacer salto de línea con cada palabra

""")
frase=input("""Escribe una frase
""")#Aquí introduces la frase a "recortar" o le das al programa una fija
cont=len(frase) #el contador es igual a letras que tenga la frase.
while cont>0: #mientras queden palabras por "recortar" el contador será mayor que 0
    if frase.find(" ")==-1: #Si no quedan espacios, es estamos en la última palabra de la frase
                            #entonces....
        print(frase) #imprimimos la última palabra
        break #Y rompemos el bucle
    else:
        print(frase[0:frase.find(" ")]) #como quedan espacios, imprimimos la frase hasta el 
                                        #primer espacio    
        frase=frase[frase.find(" ")+1:len(frase)+1] #Y recortamos la frase quitándole la palabra
                                                    #impresa anteriormente
        cont=len(frase) #actualizamos el contador

Saludos
César
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