Pitone

Come decapare gli oggetti in Python

Come decapare gli oggetti in Python
Qualsiasi dato può essere serializzato e deserializzato in Python utilizzando il modulo JSON e Pickle. Prima di archiviare qualsiasi dato 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 funzionalità del modulo pickle e come questo modulo può essere utilizzato nello script Python per la serializzazione e la deserializzazione sono descritte in questo tutorial.

Caratteristiche del sottaceto:

dump() per la serializzazione:

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

Sintassi:

dump(oggetto_dati, oggetto_file, [protocollo])

load() per la 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 gestore di file di file passa come valore dell'argomento da cui verranno recuperati i dati.

Sintassi:

carica(oggetto_file)

Pickle un oggetto semplice da memorizzare in un file

Crea un file chiamato sottaceto.pi con il seguente script Python.  Nello script seguente, un oggetto dati denominato dataObject viene dichiarato di memorizzare cinque nomi di lingua iterando il ciclo for. Successivamente, viene utilizzato il metodo open() per assegnare un gestore di file per la creazione di un file binario denominato le lingue. discarica() la funzione viene utilizzata qui per serializzare i dati di dataObject e conservalo in le lingue file.  Se la serializzazione verrà eseguita correttamente, verrà stampato un messaggio "I dati sono serializzati".

# Importa il modulo pickle
importare sottaceti
# Dichiara l'oggetto per memorizzare i dati
dataObject = []
# Ripeti il ​​ciclo for per 5 volte e prendi i nomi delle lingue
per n nell'intervallo (5):
raw = input('Inserisci il nome di una lingua  :')
dataObject.append (grezzo)
# Apri un file per la scrittura dei dati
file_handler = open('lingue', 'wb')
# Scarica i dati dell'oggetto nel file
salamoia.dump(dataObject, file_handler)
# chiudi il gestore di file per rilasciare le risorse
file_handler.vicino()
# Stampa messaggio
print('I dati sono serializzati')

Produzione:

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

Rimuovi i dati da un file

decapare i dati è l'opposto del decapare i dati. Crea un file chiamato sottaceto2.pi con il seguente script Python. Qui, Aperto() viene utilizzato per aprire il file binario denominato le lingue, creato nell'esempio precedente. caricare() la funzione viene utilizzata per estrarre i dati dal file e memorizzarli nella variabile dataObject. Il prossimo, per loop viene utilizzato per iterare i dati dal from dataObject e stampa nel terminale.

# Importa il modulo pickle
importare sottaceti
# Apri un gestore di file per leggere un file da cui verranno caricati i dati
file_handler = open('lingue', 'rb')
# Carica i dati dal file dopo la deserializzazione
dataObject = sottaceto.load(file_handler)
# Chiudi il gestore di file
file_handler.vicino()
# Stampa messaggio
print('Dati dopo la deserializzazione')
# Iterare 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 in un file

Nell'esempio seguente viene mostrato come un oggetto di classe può essere sottoposto a picking. Crea un file chiamato sottaceto3.pi 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 classe, i dati vengono serializzati utilizzando discarica() funzione e memorizzata nel file denominato datiimpiegato. Se il file verrà creato correttamente, il messaggio, “I dati sono serializzati” stamperà.

# Importa modulo pickle
importare sottaceti
# Dichiara la classe impiegato per memorizzare il valore
classe Dipendente:
def __init__(self, nome, email, post):
se stesso.nome = nome
se stesso.e-mail = e-mail
se stesso.post = post
 
#Crea oggetto dipendente
empObject = Employee('Farheen', '[email protected]', 'Manager')
# Apri file per i dati del negozio
fileHandler = open('employeeData', 'wb')
# Salva i dati nel file
salamoia.dump(empObject, fileHandler)
# Chiudi il file
fileHandler.vicino()
# Stampa messaggio
print('I dati sono serializzati')

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Rimuovi i dati in 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 chiamato sottaceto4.pi con il seguente codice. Dipendente la classe è definita qui per recuperare i dati. fileObject la variabile viene utilizzata per aprire il file, datiimpiegato per leggere. Il prossimo, caricare() la funzione viene utilizzata per memorizzare i dati nell'oggetto classe dopo la deserializzazione. Schermo() funzione di Dipendente class viene chiamato per stampare i valori dei dati dell'oggetto classe.

# Importa modulo pickle
importare sottaceti
# Dichiara la classe dei dipendenti di leggere e stampare i dati da un file
classe Dipendente:
def __init__(self, nome, email, post):
se stesso.nome = nome
se stesso.e-mail = e-mail
se stesso.post = post
def display(auto):
print('Informazioni sui dipendenti:')
print('Nome  :', self.nome)
print('Email  :', self.e-mail)
print('Post :', self.inviare)
 
# Apri il file per la lettura
fileObject = open('employeeData', 'rb')
# Deseleziona i dati
impiegato = sottaceto.load(fileObject)
# Chiudi file
fileObject.vicino()
#stampa il dataframe
dipendente.Schermo()

Produzione:

Il seguente output apparirà dopo aver eseguito lo script.

Conclusione

Il modulo Pickle è una funzionalità utile di Python per la serializzazione e la deserializzazione dei dati. Dopo aver completato gli esempi mostrati in questo tutorial, il trasferimento dei dati da uno script python a un altro script python sarà più semplice per chiunque.

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...