SoloCodigo

Programación Web y Scripting => Python => Mensaje iniciado por: ppamdk6 en Miércoles 13 de Marzo de 2013, 20:51

Título: imprimir saltos de linea
Publicado por: ppamdk6 en Miércoles 13 de Marzo de 2013, 20:51
Hola a todos:

Soy nuevo en Python, intento hacer un programa que me conecte con Maxima, para usar
su motor de calculo simbolico, la conexion es correcta y me devuelve los resultados, pero cuando intento imprimirlos por consola, python me trata los saltos de linea como un caracter mas en lugar de ejecutarlos, las instrucciones donde recibo los datos son de la forma

data=c.recv(1024)
print(data)

tambien he intentado con
print(str(data))

pero, por ejemplo, el saludo inicial lo recibo como:

b'pid=140\nMaxima 5.28.0-2 http://maxima.sourceforge.net\nusing Lisp GNU Common Lisp (GCL) GCL 2.6.8 (a.k.a. GCL)\nDistributed under the GNU Public License. See the file COPYING.\nDedicated to the memory of William Schelter.\nThe function bug_report() provides bug reporting information.\n(%i1) '

donde podeis apreciar los saltos de linea que no se ejecutan.

No se si queda clara mi consulta, quiero poder imprimir los mensajes recibidos y que se ejecuten los saltos correspondientes.

Teneis alguna idea que me pueda ayudar?

Muchas gracias de antemano por vuestra ayuda.
Título: Re:imprimir saltos de linea
Publicado por: ppamdk6 en Sábado 16 de Marzo de 2013, 12:26
Hola a todos:
He encontrado la respuesta a mi pregunta, la anoto aquí por si le pudiese servir
a alguien con problema parecido.
La función recv del socket me devuelve la tira como cadena de bytes, no de caracteres, así que la solución es ponerlo como:

data = c.recv(1024)
print(str(data,"UTF-8"))

con lo que la función print realizara los saltos de líneas.

Un saludo