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

  1. Keine, Richtig und Falsch
  2. Ganzzahlen, Fließkommazahlen, komplexe Zahlen
  3. Zeichenfolgen, Bytes, Byearrays
  4. Tupel, Listen, Sets und Wörterbücher, die nur wählbare Objekte enthalten
  5. Funktionen, die auf der obersten Ebene eines Moduls definiert sind (mit def, nicht mit Lambda)
  6. integrierte Funktionen, die auf der obersten Ebene eines Moduls definiert sind
  7. Klassen, die auf der obersten Ebene eines Moduls definiert sind
  8. 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