„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie man eine Reihe von Objekten pickt: Mehrere Instanzen mit Pythons Pickle speichern und laden?

Wie man eine Reihe von Objekten pickt: Mehrere Instanzen mit Pythons Pickle speichern und laden?

Veröffentlicht am 20.11.2024
Durchsuche:901

How to Pickle a Chorus of Objects: Saving and Loading Multiple Instances with Python\'s Pickle?

Pickle eine Reihe von Objekten: So speichern und laden Sie mehrere Instanzen

Das Pickle-Modul von Python bietet eine praktische Möglichkeit, Objekte in einer Datei zu serialisieren , wodurch ihre Persistenz für eine spätere Verwendung ermöglicht wird. Aber wie sieht es mit Szenarien aus, in denen mehrere Objekte konserviert werden müssen? Dieser Artikel befasst sich mit den Methoden, mit solchen Situationen umzugehen.

Das Pickle-Rätsel: Eine Geschichte von einem oder mehreren

Wie Sie herausgefunden haben, zeichnet sich Pickle dadurch aus, dass es Singles speichert Objekte. Die Ausweitung dieser Funktionalität auf mehrere Objekte wirft jedoch Fragen auf: Können diese gemeinsam gespeichert werden? Gibt es Alternativen mit Listen oder anderen Ansätzen?

Die Macht von Pickles nutzen: Kollektive Serialisierung

Seien Sie versichert, die Fähigkeiten von Pickle erstrecken sich auch auf die Beibehaltung mehrerer Objekte in einer einzigen Datei. Der Schlüssel zu diesem Ensemble-Ansatz liegt in einer for-Schleife, die die Objekte durchläuft und jedes einzelne mit pickle.dump() serialisiert.

import pickle

# Sample list of players
players = [Player1, Player2, Player3]

with open('players.pkl', 'wb') as f:
    for player in players:
        pickle.dump(player, f)

Abrufen des Pickled Ensembles: Enthüllung der gespeicherten Melodien

Sobald die Spieler ausgewählt wurden, ist das Abrufen ein einfacher umgekehrter Vorgang. Verwenden Sie erneut eine for-Schleife, durchlaufen Sie die Pickle-Datei und laden Sie jedes Objekt mit pickle.load().

import pickle

with open('players.pkl', 'rb') as f:
    loaded_players = []
    while True:
        try:
            loaded_players.append(pickle.load(f))
        except EOFError:
            break

Optimierung der Pickle Symphony: Zwei Ergänzungen

Über den grundlegenden Ansatz hinaus sollten Sie diese Verbesserungen berücksichtigen:

  1. Explizite Längenspeicherung vermeiden: Verwenden ein Generator, der Objekte kontinuierlich lädt, bis das Ende der Datei erreicht ist, wodurch der Speicherverbrauch erheblich reduziert wird.
  2. Generatorvorteile: Umfassend Ein Generator bietet speicherfreundliches inkrementelles Laden, was besonders für große Datenmengen wertvoll ist.

Durch die Integration dieser Techniken beherrschen Sie die Kunst, mehrere Objekte mit Pickle zu speichern und zu laden und Ihre Software in eine Symphonie zu verwandeln von nahtlos durchhaltenden Melodien.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3