pickle.load() encodieren?

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

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?
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
tordmor
User
Beiträge: 100
Registriert: Donnerstag 20. November 2008, 10:29
Wohnort: Stuttgart

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
äöüß
http://www.felix-benner.com
Benutzeravatar
krisi12345
User
Beiträge: 205
Registriert: Mittwoch 4. März 2009, 16:56
Wohnort: Das schöne München
Kontaktdaten:

O.K. danke! :D
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

benutzt man auch noch "rb" und "wb" statt "r" und "w", funktioniert es sogar verlässlich unter Windows.

Stefan
Antworten