Wie lade ich eine Beizdatei mit einem Wörterbuch mit Unicode-Zeichen?

8

Ich habe ein Wörterbuch:

%Vor%

Ich habe es in eine Beizdatei geschrieben:

%Vor%

Wenn ich versuche es zu laden:

%Vor%

Ich bekomme einen Fehler:

%Vor%

Irgendwelche Ideen, wie man das löst? Hilfe ist sehr geschätzt.

    
root 19.03.2012, 16:18
quelle

3 Antworten

8

pickle ist ein Binärformat, bei dem Codec-Übersetzungen verwendet werden, bevor das Schreiben es bricht. Versuchen Sie, einfach in eine Datei zu schreiben und sie zurück zu laden:

%Vor%

Aber wahrscheinlich möchten Sie in erster Linie Unicode verwenden:

%Vor%     
Niklas B. 19.03.2012, 16:23
quelle
3

Ich glaube, das Problem ist die Verwendung von codecs.open . Bei Pickles handelt es sich um Binärdateien, nicht um Text, und codec dient zur transparenten Konvertierung von einer Textcodierung in Unicode. Sie sollten stattdessen open verwenden.

    
Geoff Reedy 19.03.2012 16:22
quelle
0

Altes Problem, aber ... Ich hatte das gleiche Problem und ich dachte nicht, dass Extra-Disk IO eine feine Lösung ist. Ich schlage vor, Sie verwenden base64 encode / decoding.

%Vor%

Auch cPickle könnte auf gleiche Weise für schnellere Ergebnisse in Batches verwendet werden.

    
JSBach 13.10.2014 21:44
quelle

Tags und Links