PySerial und readline() return Binär-string - konvertieren reguläre alphanumerische Zeichenfolge?

Ich habe ein Problem mit PySerial und Python (3.3): Der code, den ich verwende (für jetzt, dies ist nur ein einfacher test-Fall) ist wie folgt:

ser = serial.Serial('/dev/ttyACM0', 115200)
result = ser.readline()
parsed = result.split(",")

welche gibt die folgende Fehlermeldung:

TypeError: type str doesn't support the buffer API

Was ist mein blöder Fehler? Ich glaube, ich habe verfolgt dies auf die Tatsache, dass die PySerial - readline-Rückkehr ist ein Binär-string (neu in python 3?) und dass die string-operation "split" ist zu Versagen, wenn gegen einen Binär-string - es funktioniert gut, wenn Sie dies ausführen:

'1234, asdf, 456, jkl'.split(",")

Welche gibt die zu erwartenden:

['1234', 'asdf', '456', jkl']

Aber dann läuft:

b'1234, asdf, 456, jkl'.split(",")

gibt den oben genannten Fehler. Gibt es eine andere Methode readline zu benutzen? sollte ich code meine eigenen mit Lesen (und Lesen Sie einfach, bis Sie es sieht /r/n) oder kann ich problemlos konvertieren in eine Zeichenfolge, die zu erfüllen str.isalnum()? Danke!

InformationsquelleAutor Sam.T.Pratt | 2012-11-14

Schreibe einen Kommentar