Come sokle oggetti in Python

Come sokle oggetti in Python
Tutti i dati possono essere serializzati e deserializzati in Python utilizzando il modulo JSON e Pickle. Prima di archiviare qualsiasi dati in un file, gli oggetti Python vengono serializzati utilizzando il modulo Pickle. Gli oggetti Python vengono convertiti in flussi di caratteri usando questo modulo. Quando l'utente desidera recuperare i dati del file per l'utilizzo di un altro script Python, i dati del file vengono deserializzati dal modulo Pickle. Le caratteristiche del modulo sottaceto e come questo modulo può essere utilizzato nella sceneggiatura Python per la serializzazione e la deserializzazione sono descritte in questo tutorial.

Caratteristiche del sottaceto:

  • È progettato principalmente da utilizzare per lo script Python.
  • Viene utilizzato per salvare gli oggetti Python tra i processi.
  • Tiene traccia di tutti gli oggetti serializzati e l'oggetto che viene serializzato prima non serializzerà di nuovo.
  • Può salvare e ripristinare l'istanza di classe in modo trasparente.
  • Non è sicuro da usare. Quindi, non è meglio scendere i dati da una fonte sconosciuta.

Dump () per serializzazione:

La funzione dump () viene utilizzata per convertire i dati dell'oggetto in un flusso di caratteri prima di salvare in un file. Questa funzione può richiedere tre argomenti. I primi due argomenti sono obbligatori e l'ultimo argomento è facoltativo. Il primo argomento prende un oggetto dati che deve serializzare. Il secondo argomento prende l'oggetto gestore di file di quel file in cui verranno archiviati i dati PCKled. L'ultimo argomento prende il nome del protocollo.

Sintassi:

dump (data_object, file_object, [protocollo])

load () per deserializzazione:

La funzione load () viene utilizzata per convertire i dati del flusso di caratteri dal file in un oggetto Python. Questa funzione contiene solo un argomento e l'oggetto del gestore file del file passa come valore dell'argomento da dove verranno recuperati i dati.

Sintassi:

load (file_object)

Pickle un semplice oggetto da archiviare in un file

Crea un file denominato Pickle1.Py con la seguente sceneggiatura Python. Nello script seguente, un oggetto dati chiamato DataObject è dichiarato per archiviare cinque nomi di lingue iterando il loop. Successivamente, il metodo Open () viene utilizzato per assegnare un gestore di file per la creazione di un file binario denominato le lingue. scarico() La funzione viene utilizzata qui per serializzare i dati di DataObject e conservalo nel le lingue file. Se la serializzazione verrà eseguita correttamente, allora un messaggio, "i dati sono serializzati".

# Importa il modulo sottaceto
Importa sottaceto
# Dichiarare l'oggetto per archiviare i dati
DataObject = []
# Itera il ciclo per 5 volte e prendi i nomi della lingua
per n nell'intervallo (5):
raw = input ('immettere un nome di lingua:')
DataObject.append (raw)
# Apri un file per la scrittura di dati
file_handler = open ('lingue', 'wb')
# Scaricare i dati dell'oggetto nel file
salamoia.dump (databject, file_handler)
# Chiudi il gestore di file per rilasciare le risorse
file_handler.vicino()
# Messaggio di stampa
print ("dati è serializzato")

Produzione:

Dopo aver eseguito lo script, ci vorranno cinque nomi di lingua come input.

Scaccia i dati da un file

Sbickling the Data è l'opposto dei dati di picking. Crea un file denominato Pickle2.Py con la seguente sceneggiatura Python. Qui, aprire() Il metodo viene utilizzato per aprire il file binario denominato le lingue, creato nell'esempio precedente. carico() La funzione viene utilizzata per scollegare i dati dal file e archiviarli nella variabile DataObject. Prossimo, per il ciclo viene utilizzato iterare i dati da DataObject e stampare nel terminale.

# Importa il modulo sottaceto
Importa sottaceto
# Apri un gestore di file per la lettura di un file da dove verranno caricati i dati
file_handler = open ('lingue', 'rb')
# Carica i dati dal file dopo la deserializzazione
DataObject = Pickle.load (file_handler)
# Chiudi il gestore dei file
file_handler.vicino()
# Messaggio di stampa
print ("dati dopo deserializzazione")
# Itera il ciclo per stampare i dati dopo la deserializzazione
Per Val in DataObject:
print ('Il valore dei dati:', val)

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Pickle un oggetto di classe a un file

Come può essere scattonato come un oggetto di classe è mostrato nel seguente esempio. Crea un file denominato Pickle3.Py Con il seguente script. Qui, Dipendente La classe è dichiarata per assegnare tre valori di dati di un dipendente. Successivamente, un oggetto gestore di file denominato filehandler viene creato per aprire un file per la scrittura. Dopo aver inizializzato l'oggetto di classe, i dati vengono serializzati utilizzando scarico() funzione e archiviato nel file denominato impiegato. Se il file creerà correttamente, il messaggio, "I dati sono serializzati" Stamperò.

# Importa modulo sottaceto
Importa sottaceto
# Dichiarare la classe dei dipendenti per archiviare il valore
dipendente di classe:
def __init __ (self, name, email, post):
se stesso.nome = nome
se stesso.email = email
se stesso.post = post
#Crea oggetto dipendente
EMPOBJECT = Employee ('Farheen', '[email protected] ',' manager ')
# Apri file per i dati dell'archivio
filehandler = open ('EmployeeData', 'WB')
# Salva i dati nel file
salamoia.dump (empObject, filehandler)
# Chiudi il file
filehandler.vicino()
# Messaggio di stampa
print ("dati è serializzato")

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Scegli i dati di un oggetto di classe

Una classe con le proprietà e i metodi necessari richiederà di dichiarare per il recupero dei dati da un file a un oggetto di classe. Crea un file denominato Pickle4.Py con il seguente codice. Dipendente La classe è definita qui per recuperare i dati. FileObject La variabile viene utilizzata per aprire il file, impiegato per leggere. Prossimo, carico() La funzione viene utilizzata per archiviare i dati nell'oggetto classe dopo la deserializzazione. Schermo() funzione di Dipendente La classe è chiamata per stampare i valori dei dati dell'oggetto Classe.

# Importa modulo sottaceto
Importa sottaceto
# Dichiara la classe dei dipendenti di leggere e stampare i dati da un file
dipendente di classe:
def __init __ (self, name, email, post):
se stesso.nome = nome
se stesso.email = email
se stesso.post = post
def displa (self):
Stampa ("Informazioni sui dipendenti:")
stampa ('nome:', self.nome)
Stampa ("Email:", Self.e-mail)
stampa ('post:', sé.inviare)
# Apri il file per la lettura
FileObject = Open ('Employeata', 'RB')
# Scegli i dati
dipendente = sottaceto.load (filebject)
# Chiudi file
FileObject.vicino()
#print il frame dati
dipendente.Schermo()

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Conclusione

Il modulo Pickle è una caratteristica utile di Python per la serializzazione dei dati e la deserializzazione. Dopo aver completato gli esempi mostrati in questo tutorial, i dati che si trasferiscono da uno script Python a un altro script di Python saranno più facili per chiunque.