Seite 1 von 1
pickle.load() encodieren?
Verfasst: Mittwoch 12. August 2009, 15:57
von krisi12345
Wenn man Unicode Zeichen mit pickle.dump() speichert/öffnet werden die Unicode zeichen nicht/dekodiert angezeigt.
Ich habe versucht den geöffneten String mit encode zu enkodieren aber das hat nicht so recht geklappt.
Wahrscheinlich habe Ich die falsche Kodierung benutzt.
Kann Mir einer helfen?
Verfasst: Mittwoch 12. August 2009, 16:43
von tordmor
wenn Du ein unicode object mit pickle.dump speicherst und mit pickle.load wieder einlädst, solltest Du wieder ein unicode object bekommen. Kein Grund hier irgend etwas zu en-/dekodieren.
Code: Alles auswählen
>>> u = u"äöüß"
>>> type(u)
<type 'unicode'>
>>> print u
äöüß
>>> with open('test.pickle', 'w') as f:
... pickle.dump(u, f)
...
>>> with open('test.pickle', 'r') as f:
... v = pickle.load(f)
...
>>> v == u
True
>>> type(v)
<type 'unicode'>
>>> print v
äöüß
Verfasst: Mittwoch 12. August 2009, 16:48
von krisi12345
O.K. danke!

Verfasst: Mittwoch 12. August 2009, 21:06
von sma
benutzt man auch noch "rb" und "wb" statt "r" und "w", funktioniert es sogar verlässlich unter Windows.
Stefan