Erweiterung von Objekten beim Abspeichern mit pickle
Verfasst: Samstag 5. Februar 2011, 06:43
Hallo,
vielleicht ist meine bisherige Methode suboptimal, aber ich habe keine Idee, wie man das Problem umgehen kann, da ich mich noch nicht so lange mit Python beschäftige.
ich benutze bisher in meinen Programmen die recht einfach Möglichkeit mit pickle um dort vorhandene Daten abzuspeichern. Dabei hatte ich jetzt schon mehrfach das Problem, dass ich z.B. eine Liste gepicklet habe, in der Objekte einer Klasse stehen und ich im Nachhinein diese Objekte mit zusätzlichen Attributen oder Methoden versehen möchte. Öffne ich die Liste mit der neuen Klassenbeschreibung meckert er verständlicherweise, da die gespeicherten Objekte ja noch nicht über die Methoden der neuen Klasse verfügen.
Bisher habe ich mir immer so, geholfen, dass ich ein Skript geschrieben habe, was die alte Liste mit den alten Objekte in eine neue Liste konvertiert. Das finde ich jedoch sehr umständlich. Jetzt kann man natürlich sagen, dass ich vorher bei der Konzeption der Klasse besser hätte überlegen können, jedoch waren mehrmals Attribute dabei, die mir bei der besten Planung nicht eingefallen wären.
Gibt es eine Möglichkeit das eleganter zu lösen oder bin ich mit pickle da sowieso nicht beim optimalen Werkzeug?
Wie umgeht ihr solche Probleme?
Gruß EmaNymton
vielleicht ist meine bisherige Methode suboptimal, aber ich habe keine Idee, wie man das Problem umgehen kann, da ich mich noch nicht so lange mit Python beschäftige.
ich benutze bisher in meinen Programmen die recht einfach Möglichkeit mit pickle um dort vorhandene Daten abzuspeichern. Dabei hatte ich jetzt schon mehrfach das Problem, dass ich z.B. eine Liste gepicklet habe, in der Objekte einer Klasse stehen und ich im Nachhinein diese Objekte mit zusätzlichen Attributen oder Methoden versehen möchte. Öffne ich die Liste mit der neuen Klassenbeschreibung meckert er verständlicherweise, da die gespeicherten Objekte ja noch nicht über die Methoden der neuen Klasse verfügen.
Bisher habe ich mir immer so, geholfen, dass ich ein Skript geschrieben habe, was die alte Liste mit den alten Objekte in eine neue Liste konvertiert. Das finde ich jedoch sehr umständlich. Jetzt kann man natürlich sagen, dass ich vorher bei der Konzeption der Klasse besser hätte überlegen können, jedoch waren mehrmals Attribute dabei, die mir bei der besten Planung nicht eingefallen wären.
Gibt es eine Möglichkeit das eleganter zu lösen oder bin ich mit pickle da sowieso nicht beim optimalen Werkzeug?
Wie umgeht ihr solche Probleme?
Gruß EmaNymton