Es gibt viele Methoden, wie Sie Ihre Daten persistent machen können. Es hängt von der Aufgabe, auf die Umwelt usw. Nur ein paar Beispiele:
- Dateien (JSON, DBM, Pickle)
- NoSQL-Datenbanken (Redis, MongoDB, etc.)
- SQL-Datenbanken (sowohl Serverless- als auch Client-Server: sqlite, MySQL, PostgreSQL usw.)
Der einfachste/einfachste Ansatz ist die Verwendung von Dateien. Es gibt sogar Module, die es erlauben, es transparent zu machen. Sie arbeiten einfach wie immer mit Ihren Daten.
Siehe zum Beispiel shelve
.
Aus der Dokumentation:
A „Regal“ ist ein persistent, Wörterbuch-ähnliches Objekt. Der Unterschied mit „dbm“ Datenbanken ist, dass die Werte (nicht die Tasten!) In einem Regal im Wesentlichen beliebige Python-Objekte sein können - alles, was die Beize Modul verarbeiten kann. Dazu gehören die meisten Klasseninstanzen, rekursive Datentypen, und Objekte mit vielen gemeinsamen Unterobjekten. Die Schlüssel sind gewöhnliche Zeichenfolgen.
Anwendungsbeispiel:
import shelve
s = shelve.open('test_shelf.db')
try:
s['key1'] = { 'int': 10, 'float':9.5, 'string':'Sample data' }
finally:
s.close()
Sie mit s
arbeiten ganz normal, da es nur ein normales Wörterbuch waren. Und es wird automatisch auf der Festplatte (in der Datei test_shelf.db
in diesem Fall) gespeichert.
In diesem Fall wird Ihr Wörterbuch ist persistent und nicht seine Werte nach dem Neustart des Programms verlieren.
Mehr darauf:
Eine weitere Option ist Beize zu verwenden, die Sie auch Persistenz gibt, aber nicht auf magische Weise: Sie müssen Daten lesen und schreiben allein.
Vergleich zwischen shelve
und pickle
:
Dies ist ein XY-Problem. Wenn Sie den Code nicht ändern möchten, suchen Sie nach einer Möglichkeit, Daten zwischen dem Ausführen des Programms zu speichern. –