Hi,
welche Möglichkeiten habe ich generell Instanzen zu serialisieren? Was ist so der gängige, pythonische Weg, Instanzen (auch mit pygame surfaces etc.) zu serialisieren (und natürlich später zu deserialisieren ^^)
LG
Anmeldungsdatum: Beiträge: 880 Wohnort: Thüringen |
Hi, welche Möglichkeiten habe ich generell Instanzen zu serialisieren? Was ist so der gängige, pythonische Weg, Instanzen (auch mit pygame surfaces etc.) zu serialisieren (und natürlich später zu deserialisieren ^^) LG |
Anmeldungsdatum: Beiträge: 4101 |
Hallo, Python bietet für Serialisierung (und Deserialisierung) das Module pickle an. Allerdings wurde mir davon mehrmals abgeraten (unter anderem deswegen, weil pickle nicht sicher ist) und ich selbst würde eher zu einer Lösung tendieren, die deine Daten in ein Dictionary (oder ähnliches) packt und dann mittels json-Modul gespeichert wird. Evtl. kann man auch eine Instanz einer Klasse mittels json direkt serialisieren, müsstest du mal ausprobieren. mfg |
Projektleitung
Anmeldungsdatum: Beiträge: 12829 |
Ich kenne zwar Python nicht, aber generell ist bei Skriptsprachen YAML und JSON recht beliebt. Da gibt es bestimmt auch Bibliotheken in Python. Ansonsten gibt es natürlich auch noch XML... In Ruby ist es so, dass es mit "Marshal" auch noch ein natives, binäres Format gibt, das auch recht schnell geschrieben und gelesen werden kann. Es gibt sogar etwas gleichen Namens in Python. Hier findest Du mehr. Ciao robert |
Anmeldungsdatum: Beiträge: 2123 Wohnort: Gelsenkirchen |
Dieses Modul sollte aber nicht zum persistenten Speichern von Daten verwendet werden. Steht auch direkt im zweiten Absatz der von dir verlinkten Doku, dass man dann halt auf Pickle oder Shelve zurückgreifen soll. Letzteres verfolgt ein eher simples Konzept, indem es eine einfache Schlüssel-Wert-Beziehung (in Python abgebildet als Dictionary) in eine Datei schreibt, um damit den Erhalt der Daten zu gewährleisten. Je nachdem, was der OP in seiner "Instanz" beherbergt, kann das vielleicht schon ausreichend sein. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 880 Wohnort: Thüringen |
Ich glaube ich werde in meinen Klassen LG PS: bzgl. pickle und Sicherheit: http://nadiana.com/python-pickle-insecure |