Ich habe noch nie mit dem Codieren und Decodieren von Strings gearbeitet, also bin ich der Neuling an dieser Front. Ich erhalte einen UnicodeEncodeError, wenn ich versuche, den Inhalt, den ich aus einer anderen Datei gelesen habe, mit file.write in Python in eine temporäre Datei zu schreiben. Ich erhalte folgende Fehlermeldung:Fehler beim Schreiben einer Datei mit file.write in Python. UnicodeEncodeError
UnicodeEncodeError: 'ascii' codec can't encode character u'\u201c' in position 41333: ordinal not in range(128)
Hier ist, was ich in meinem Code mache. Ich lese eine XML-Datei und bekomme den Text vom "mydata" -Tag. Ich iterieren dann durch mydata für CDATA suchen
parser = etree.XMLParser(strip_cdata=False)
root = etree.parse(myfile.xml, parser)
data = root.findall('./mydata')
# iterate through list to find text (lua code) contained in elements containing CDATA
for item in myData:
myCode = item.text
# Write myCode to a temporary file.
tempDirectory = tempfile.mkdtemp(suffix="", prefix="TEST_THIS_")
file = open(tempDirectory + os.path.sep + "myCode.lua", "w")
file.write(myCode + "\n")
file.close()
es mit dem UnicodeEncodeError schlägt fehl, wenn ich die folgende Zeile getroffen:
file.write(myCode + "\n")
Wie soll ich richtig kodieren und diese entschlüsseln?
Welche Python-Version geschehen? – metatoaster
Verwenden von Python 2.7 – user2643864
möglich Duplikat von [UnicodeEncodeError beim Schreiben in eine Datei] (http://stackoverflow.com/questions/6939692/unicodeencodeerror-when-writing-to-a-file) –