Hallo Zusammen,
ich hatte mir überlegt, ein paar Objekte in einer Datei abzulegen, wenn mein
Programm beendet wird und diese wieder eingelesen werden, wenn ich es auführe.
Unter Java hatte ich das mit "ObjectInputStream, ObjectOutputStream usw."
bewerkstelligt.
Doch war ich wohl etwas blauäugig.. Ich kann dazu nicht wirklich etwas finden.
Kann mir da vielleicht jemand weiter helfen?
Das wäre klasse!
Vielen Grüße
ZZHAT
Objekte in einer Datei ablegen [gelöst]
Rebecca:
Danke für den Tipp. Pickle hatte ich doch etwas anders verstanden.
Die Sache hat nur einen kleinen Harcken. Es is ein ASCII-file
und ich hätte es lieber als binary-output.
Da ich eine Datenmanipulation natürlich vermeiden möchte.
Gibts da eine Möglichkeit?
Viele Grüße
ZZHAT
Danke für den Tipp. Pickle hatte ich doch etwas anders verstanden.
Die Sache hat nur einen kleinen Harcken. Es is ein ASCII-file
und ich hätte es lieber als binary-output.
Da ich eine Datenmanipulation natürlich vermeiden möchte.
Gibts da eine Möglichkeit?
Viele Grüße
ZZHAT
Ich befürchte, wenn Du Manipulationen wirklich vermeiden willst, musst Du die Datei mit der Ausgabe signieren. Die Verwendung eines Binär-Formats ist allenfalls eine Verschleierung, die Manipulationen nicht besonders erschwert.ZZHAT hat geschrieben: Da ich eine Datenmanipulation natürlich vermeiden möchte.
Ich verwende zur Speicherung von Daten als Datei übrigens gerne SQLAlchemy und pysqlite.
Gruß, Markus
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Dann meinst du Protocol 0, das ASCII-like ist. Wenn du aber Protokoll 1 oder 2 verwendest oder einfach HIGHEST_PROTOCOL dann bekommst du etwas binäres raus.ZZHAT hat geschrieben:Die Sache hat nur einen kleinen Harcken. Es is ein ASCII-file
und ich hätte es lieber als binary-output.
Code: Alles auswählen
import pickle
pickle.dump(dein_objekt, file_objekt, pickle.HIGHEST_PROTOCOL)
P.S.: Hallo Monk, willkommen im Forum!
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Monk:
Ist schon wahr, dass es kein wirklichen Schutz darstellt aber es hängt die Hürde etwas höher.
In meinem Fall, würde es mir schon reichen, dass man nicht ganz ohne etwas Gehirnschmalz die Daten manipulieren kann. Und da es sich um keinen wirklich sensiblen Daten handelt wäre ein größer Aufwand zum Schutz der Daten nicht sinnvoll auch wäre der Einsatz einer DB überzogen.
Viele Grüße
ZZHAT
p.s.
Ich merke schon, dem Begriff "Datenmanipulation" wird hier etwas zuviel Bedeutung gegeben. ich meine damit mehr, dass es halt nicht mal eben mit einem Texteditor zu bewerkstelligen sein sollte.
Leonidas:
Vielen Dank für deinen Tipp.
Dieser und der von Rebecca hat mir zur Lösung verholfen.
Ist schon wahr, dass es kein wirklichen Schutz darstellt aber es hängt die Hürde etwas höher.
In meinem Fall, würde es mir schon reichen, dass man nicht ganz ohne etwas Gehirnschmalz die Daten manipulieren kann. Und da es sich um keinen wirklich sensiblen Daten handelt wäre ein größer Aufwand zum Schutz der Daten nicht sinnvoll auch wäre der Einsatz einer DB überzogen.
Viele Grüße
ZZHAT
p.s.
Ich merke schon, dem Begriff "Datenmanipulation" wird hier etwas zuviel Bedeutung gegeben. ich meine damit mehr, dass es halt nicht mal eben mit einem Texteditor zu bewerkstelligen sein sollte.
Leonidas:
Vielen Dank für deinen Tipp.
Dieser und der von Rebecca hat mir zur Lösung verholfen.
Das ist es beim Protokoll 0 auch nicht wirklich wenn etwas mehr in der Datei steht. Das Format ist nicht für Menschen sondern für den Rechner vorgesehen. Und die Dateien sollten auch immer im Binärmodus geöffnet werden. Sonst überleben sie unter Umständen den Transport auf andere Plattformen nicht.ZZHAT hat geschrieben:Ich merke schon, dem Begriff "Datenmanipulation" wird hier etwas zuviel Bedeutung gegeben. ich meine damit mehr, dass es halt nicht mal eben mit einem Texteditor zu bewerkstelligen sein
- Michael Schneider
- User
- Beiträge: 569
- Registriert: Samstag 8. April 2006, 12:31
- Wohnort: Brandenburg
Hallo ZZHAT,
wenn Du dennoch über eine Art Datenbank zur Verwaltung mehrerer Objekte nachdenkst, sieh Dir mal das Standard Modul shelve an:
http://docs.python.org/lib/module-shelve.html
Grüße,
Michael
wenn Du dennoch über eine Art Datenbank zur Verwaltung mehrerer Objekte nachdenkst, sieh Dir mal das Standard Modul shelve an:
http://docs.python.org/lib/module-shelve.html
Grüße,
Michael
Diese Nachricht zersört sich in 5 Sekunden selbst ...
Michael Schneider:
Das ist ein interessanter Hinweis, der mir sicher in naher Zukunft
sicher helfen wird. Ich kann es momentan zwar nicht austesten aber was ich
gelesen habe klang interessanter.
Ich denke damit hast mir schon mal einen Beitrag vorweg genommen.
Viele Grüße
ZZHAT
Das ist ein interessanter Hinweis, der mir sicher in naher Zukunft
sicher helfen wird. Ich kann es momentan zwar nicht austesten aber was ich
gelesen habe klang interessanter.
Ich denke damit hast mir schon mal einen Beitrag vorweg genommen.
Viele Grüße
ZZHAT