Python Language
Python-Persistenz
Suche…
Syntax
pickle.dump (obj, file, protocol = keine, *, fix_imports = true)
pickle.load (file, *, fix_imports = True, Kodierung = "ASCII", Fehler = "streng")
Parameter
Parameter | Einzelheiten |
---|---|
obj | Pickle-Darstellung von obj in der Objektdatei der geöffneten Datei |
Protokoll | eine ganze Zahl, weist den Pickler an, das angegebene Protokoll zu verwenden, 0 -ASCII, 1 - altes Binärformat |
Datei | Das Dateiargument muss über eine write () - Methode wb für die dump- Methode und das Laden der read () - Methode rb verfügen |
Python-Persistenz
Objekte wie Zahlen, Listen, Wörterbücher, verschachtelte Strukturen und Klasseninstanzobjekte befinden sich im Speicher Ihres Computers und gehen verloren, sobald das Skript beendet ist.
Pickle speichert Daten dauerhaft in einer separaten Datei.
gebeizt Darstellung eines Objekt ist immer ein Byte Objekt in allen Fällen so eine Datei in öffnen muß wb
Daten und speichern rb
Daten aus Beize zu laden.
die Daten können von irgendeiner Art sein, zum Beispiel
data={'a':'some_value',
'b':[9,4,7],
'c':['some_str','another_str','spam','ham'],
'd':{'key':'nested_dictionary'},
}
Daten speichern
import pickle
file=open('filename','wb') #file object in binary write mode
pickle.dump(data,file) #dump the data in the file object
file.close() #close the file to write into the file
Lade Daten
import pickle
file=open('filename','rb') #file object in binary read mode
data=pickle.load(file) #load the data back
file.close()
>>>data
{'b': [9, 4, 7], 'a': 'some_value', 'd': {'key': 'nested_dictionary'},
'c': ['some_str', 'another_str', 'spam', 'ham']}
Folgende Typen können gebeizt werden
- Keine, Richtig und Falsch
- Ganzzahlen, Fließkommazahlen, komplexe Zahlen
- Zeichenfolgen, Bytes, Byearrays
- Tupel, Listen, Sets und Wörterbücher, die nur wählbare Objekte enthalten
- Funktionen, die auf der obersten Ebene eines Moduls definiert sind (mit def, nicht mit Lambda)
- integrierte Funktionen, die auf der obersten Ebene eines Moduls definiert sind
- Klassen, die auf der obersten Ebene eines Moduls definiert sind
- Instanzen solcher Klassen, deren Dikt oder das Ergebnis des Aufrufs von getstate ()
Funktionsprogramm zum Speichern und Laden
Daten in und aus Datei speichern
import pickle
def save(filename,object):
file=open(filename,'wb')
pickle.dump(object,file)
file.close()
def load(filename):
file=open(filename,'rb')
object=pickle.load(file)
file.close()
return object
>>>list_object=[1,1,2,3,5,8,'a','e','i','o','u']
>>>save(list_file,list_object)
>>>new_list=load(list_file)
>>>new_list
[1, 1, 2, 3, 5, 8, 'a', 'e', 'i', 'o', 'u'
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow