Serialisierung und Deserialisierung mehrerer Objekte mit Pickle
In Python bietet das Pickle-Modul eine praktische Möglichkeit, Objekte zu serialisieren und zu deserialisieren, aber wie geht das? Sie verarbeiten mehrere Objekte?
Um mehrere Objekte in einer Pickle-Datei zu speichern, können Sie eine Liste oder ein Tupel verwenden, um sie zusammenzufassen. Zum Beispiel:
<code class="python">my_objects = [obj1, obj2, obj3] with open('objects.pkl', 'wb') as f: pickle.dump(my_objects, f)</code>
Um die Objekte zu laden, gehen Sie einfach wie folgt vor:
<code class="python">with open('objects.pkl', 'rb') as f: my_objects = pickle.load(f)</code>
Das Pickle-Modul unterstützt die Speicherung der Anzahl der eingelegten Objekte und ermöglicht so das individuelle Laden dieser Objekte. Bei größeren Datensätzen ist es jedoch möglicherweise nicht optimal, alles in den Speicher zu laden.
Eine Alternative besteht darin, einen Generator zu verwenden, um die Objekte einzeln zu laden:
<code class="python">def loadall(filename): with open(filename, "rb") as f: try: while True: yield pickle.load(f) except EOFError: pass</code>
Nur auf diese Weise Das nächste Objekt wird bei Bedarf geladen, wodurch Speicherplatz gespart wird.
Das obige ist der detaillierte Inhalt vonWie serialisiere und deserialisiere ich mehrere Objekte mit Pickle in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!