Fehler beim Schreiben einer Datei mit file.write in Python. UnicodeEncodeError

8

Ich habe mich nie mit dem Codieren und Decodieren von Strings beschäftigt, 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 den folgenden Fehler:

%Vor%

Hier ist, was ich in meinem Code mache. Ich lese eine XML-Datei und bekomme den Text vom "mydata" -Tag. Ich iteriere dann durch meine Daten nach CDATA

%Vor%

Es schlägt mit dem UnicodeEncodeError fehl, wenn ich die folgende Zeile treffe:

%Vor%

Wie soll ich das richtig codieren und dekodieren?

    
user2643864 13.03.2014, 22:30
quelle

1 Antwort

16

Die Funktion open von Python2.7 behandelt Unicode-Zeichen nicht transparent wie python3. Es gibt ausführliche Dokumentationen zu diesem Thema , aber wenn Sie Unicode-Strings direkt schreiben möchten, ohne sie zu decodieren, können Sie das tun probiere das

aus %Vor%

Zum Vergleich: So passiert der Fehler

%Vor%     
metatoaster 13.03.2014, 22:48
quelle