265
9.3
Objekte speichern mit pickle
9.3.1 Funktionen zum Speichern und Laden
In der Praxis verwendet man die Funktionen dump() und load() aus dem Modul pickle
zum Speichern und Laden von Objekten. Die Funktionen werden in folgendem Format auf-
gerufen:
Dabei ist
object ein beliebiges Objekt und file der Name eines File-Objektes, das im binä-
ren Schreibmodus (
wb) geöffnet worden ist. Die Funktion überhrt das Objekt in eine Dar-
stellung als Bytestring und schreibt diese auf das File.
Das Argument
file ist der Name eines File-Objektes im Lesemodus (r). Die Funktion liest
von dem File die
pickle-Repräsentation des Objektes (ein String) und überführt sie in ein
Objekt vom Originaltyp.
Speichern
In der folgenden Anweisungsfolge, die man im interaktiven Modus testen kann, speichern
wir eine Liste mit Tupeln des Formats
(Name, Telefonnummer) mithilfe von pickle.
dump()
in der Datei mit dem Pfad /projekt/daten/tel.dmp.
Grundsätzlich verfährt man also beim Speichern folgendermaßen:
Ein File-Objekt mit der Standardfunktion open() im binären Schreib-Modus öffnen
( Modus
'wb')
mit der Funktion dump() das gewünschte Objekt in das File übertragen
schließlich das File-Objekt mit close() schließen und speichern
Laden
Mit den folgenden Anweisungen wird die gespeicherte Liste wieder geladen und ausgegeben:
dump(object, file)
load(file)
>>> telefonbuch = [('Tim', '85675'),
('Jenny', '233325'),
('Max', '89923')]
>>> datei = open('/projekt/daten/tel.dmp', 'wb')
>>> import pickle
>>> pickle.dump(telefonbuch, datei)
>>> datei.close()
>>> tel = open('/projekt/daten/tel.dmp', 'rb')
>>> telefonbuch = pickle.load(tel)
>>> tel.close()

Get Python 3 - Lernen und professionell anwenden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.