Python - convertir bytes a string

 
Vista:

convertir bytes a string

Publicado por oscar (1 intervención) el 02/02/2018 17:19:34
Buenos dias mi nombre es Oscar y soy un poco novato en esto de pyhon,bueno les cuento:
He echo un simple servidor tcp en python,
lo que quiero hacer es guardar los mensajes del cliente en un fichero de texto,
lo que pasa esque cuando lo intento me pone que no se puede concatenar bytes a string
sabrian como se puede hacer este es el codigo des servidor:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import socket
file=open("mensajes.txt","w+")
 
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("127.0.0.1", 5551))
s.listen(5)
while True:
        sc, addr = s.accept()
        while True:
                recibido = sc.recv(1024)
                file.write(recibido+"\n")
 
                print ("Recibido: ", recibido,"utf-8".decode("ascii"))
                nuestra_respuesta = input("Tu: ")
                sc.send(nuestra_respuesta.encode('utf-8'))
file.close()
print ("Adios")
sc.close()
s.close()

este es el error:

1
2
3
4
5
6
7
Traceback (most recent call last):
  File "clientpyhton.py", line 11, in <module>
    file.write(recibido+"\n")
TypeError: can't concat str to bytes

***Repl Closed***
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 abzerox
Val: 425
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

convertir bytes a string

Publicado por abzerox (109 intervenciones) el 03/02/2018 01:58:32
Hola, puedes utilizar el método decode de la clase byte, así:
1
file.write(recibido.decode('utf-8')+"\n")
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