Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich benutzerdefinierte Python-Objekte für die Datenpersistenz speichern und laden?

Wie kann ich benutzerdefinierte Python-Objekte für die Datenpersistenz speichern und laden?

Susan Sarandon
Susan SarandonOriginal
2024-12-30 00:38:08448Durchsuche

How Can I Save and Load Custom Python Objects for Data Persistence?

Python-Objekte für Datenpersistenz speichern

Frage:

Ich habe ein benutzerdefiniertes Python erstellt Objekt und möchten es zur späteren Verwendung speichern. Wie kann ich dies für die Datenpersistenz erreichen?

Objekte mit dem Pickle-Modul speichern:

Das Pickle-Modul in der Standardbibliothek von Python bietet eine praktische Möglichkeit, Objekte für Daten zu speichern Beharrlichkeit. Betrachten Sie das folgende Beispiel mit einem benutzerdefinierten Objekt:

import pickle

class Company:
    def __init__(self, name, value):
        self.name = name
        self.value = value

company1 = Company('banana', 40)

Um dieses Objekt zu speichern, können wir den folgenden Code verwenden:

with open('company_data.pkl', 'wb') as outp:
    pickle.dump(company1, outp, pickle.HIGHEST_PROTOCOL)

Dadurch wird eine Pickle-Datei erstellt, die die serialisierte Darstellung von enthält das Unternehmen1-Objekt.

Gespeicherte Objekte lesen:

Einmal gespeichert, kann das Objekt deserialisiert und später abgerufen werden:

with open('company_data.pkl', 'rb') as inp:
    company1 = pickle.load(inp)

Unternehmen1 enthält jetzt das Originalobjekt mit intakten Namens- und Wertattributen.

Zusätzliche Überlegungen:

  • cPickle vs Pickle: cPickle, die C-Version von Pickle, bietet verbesserte Leistung. Wenn verfügbar, verwenden Sie cPickle als Pickle importieren.
  • Datenstromformate (Protokolle): Pickle unterstützt verschiedene Datenstromformate. Für höchste Kompatibilität verwenden Sie pickle.HIGHEST_PROTOCOL (-1).
  • Speichern mehrerer Objekte: Pickle kann mehrere Objekte in einer einzigen Datei speichern. Verwenden Sie Container wie Listen oder Wörterbücher, um sie zu gruppieren.

Das obige ist der detaillierte Inhalt vonWie kann ich benutzerdefinierte Python-Objekte für die Datenpersistenz speichern und laden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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