ciao a tutti stavo provando ad estrarre informazioni da dati ottenuti tramite socket.
se faccio print dei dati che ottengo tutto è perfetto ma quando tento di estrarre i dati sembra che questi non siano come me li aspetto (cioè in righe di caratteri). Io uso i dati come se aprissi un file e lo leggessi riga per riga (forse è quì che sbaglio), invece mi legge carattere per carattere, ma non saprei come altro fare. Mi date qualche spunto su cosa cercare perchè non riesco a trovare niente di utile, sulla documentazione di python usano repr(data) ma non ho ottenuto i risultati che speravo. Forse dovrei fare un loop fino al carattere di fine riga e salvare in una lista, ma è il modo corretto di farlo? questo è il mio codice: #http://www.pythonlearn.com/code/intro-short.txt import socket import re mysock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) mysock.connect(('www.pythonlearn.com', 80)) mysock.send ('GET http://www.pythonlearn.com/code/intro-short.txt HTTP/1.0\n\n' ) d = '' #Receive data from the socket. The return value is a bytes object representing the data received while True: data = mysock.recv(512) if (len(data)<1): break d += data print(d) stringdata = d.decode('utf-8') print(stringdata) for line in stringdata: print(line) matchLast = re.findall('^Last-Modified: (.+)', line) print(matchLast) # i dati che cerco mysock.close() grazie Luca
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python