2016-06-24 20 views
0

Ich habe eine Liste von Wörtern, die in Bytes ist, aber ich möchte sie in Ascii wechseln.Python 3.5 Umwandlung einer Liste von Bytes in ASCII

Was ich versuche zu bekommen:

print(delimitednames) 
['the\x00 ', 'tree\x00 ', 'grew\x00 ', 'tall\x00 '] 

Was ich bin immer noch

print(delimitednames) 
[b'the\x00 ', b'tree\x00 ', b'grew\x00 ', b'tall\x00 '] 

Wenn ich versuche:

delimitednames = [x.encode('ascii', 'ignore') for x in delimitednames] 

ich den Fehler:

AttributeError: 'bytes object has no attribute 'encode' 

Ich bin nicht mit Bytes vertraut, also bin ich nicht sicher, wo ich von hier aus gehen soll. Irgendwelche Links oder Ratschläge? Vielen Dank.

edit: Aktualisierung Antwort

Ergebnis mit Linie erhalten

delimitednames = [str(x,'ascii', 'ignore') for x in delimitednames] 
+0

was ist Ihre beabsichtigte Ausgabe? Könnten Sie Ihre Antwort aktualisieren –

+1

für Sie aktualisiert – toshbar

Antwort

1

Verwenden Sie die Funktion str stattdessen in Python 3.x:

delimitednames = [str(x,'ascii', 'ignore') for x in delimitednames] 

Sie Angenommen, Sie nicht die nullbytes brauchen und whitespaces, können Sie .strip ('\ x00') zur Zeichenkette hinzufügen

+0

funktioniert wie ein Charme. Vielen Dank – toshbar