Pickle, che fa parte della libreria Python per impostazione predefinita, è un modulo importante ogni volta che è necessaria la persistenza tra le sessioni utente. Come modulo, pickle prevede il salvataggio di oggetti Python tra i processi.
Sia che si stia programmando un database, un gioco, un forum o qualche altra applicazione che deve salvare informazioni tra le sessioni, pickle è utile per salvare identificatori e impostazioni. Il modulo pickle può memorizzare elementi come tipi di dati come booleani, stringhe e array di byte, elenchi, dizionari, funzioni e altro.
Nota: Il concetto di decapaggio è anche noto come serializzazione, marshalling e appiattimento. Tuttavia, il punto è sempre lo stesso: salvare un oggetto in un file per il successivo recupero. Il decapaggio esegue ciò scrivendo l'oggetto come un lungo flusso di byte.
Per scrivere un oggetto in un file, utilizzare un codice nella sintassi seguente:
sottaceto di importazione
object = Object ()
filehandler = open (nome file, 'w')
pickle.dump (oggetto, filehandler)
Ecco come appare un esempio del mondo reale:
sottaceto di importazione
importare la matematica
object_pi = math.pi
file_pi = open ('filename_pi.obj', 'w')
pickle.dump (object_pi, file_pi)
Questo frammento scrive il contenuto di object_pi al file gestore file_pi, che a sua volta è associato al file filename_pi.obj nella directory di esecuzione.
Per ripristinare il valore dell'oggetto in memoria, caricare l'oggetto dal file. Supponendo che il sottaceto non sia ancora stato importato per l'uso, iniziare importandolo:
sottaceto di importazione
filehandler = open (nome file, 'r')
object = pickle.load (filehandler)
Il seguente codice ripristina il valore di pi:
sottaceto di importazione
file_pi2 = open ('filename_pi.obj', 'r')
object_pi2 = pickle.load (file_pi2)
L'oggetto è quindi nuovamente pronto per l'uso, questa volta come object_pi2. Puoi, ovviamente, riutilizzare i nomi originali, se preferisci. Questo esempio usa nomi distinti per chiarezza.
Tieni a mente queste cose quando usi il modulo pickle:
Mancia: Scopri anche come utilizzare shelve per salvare oggetti in Python per un altro metodo per mantenere la continuità degli oggetti.