Wie serialisiere und deserialisiere ich mehrere Objekte mit Pickle in Python?

Mary-Kate Olsen
Freigeben: 2024-11-03 19:10:29
Original
224 Leute haben es durchsucht

How to Serialize and Deserialize Multiple Objects with Pickle in Python?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage