Dump Python Pickle

Dump Python Pickle
Python Pickle è uno strumento che può serializzare e deserializzare la struttura di un oggetto Python. Pickling consente di salvare qualsiasi oggetto in Python su un disco e il palassino può essere fatto con qualsiasi oggetto. I dati verranno prima elaborati da Python Pickle, quindi verranno trasformati in un flusso di caratteri. L'oggetto verrà convertito in modo tale che il flusso di caratteri avrà le informazioni necessarie per riassemblare l'oggetto in un altro script Python. Secondo la documentazione, va notato che il modulo sottaceto non fornisce sicurezza contro i dati che sono stati prodotti deliberatamente o inavvertitamente. Pertanto, non dovresti mai scendere i dati che sono stati ottenuti da una fonte di cui non può essere attendibile o che non è stata convalidata.

La prossima sezione ci insegnerà come archiviare i dati utilizzando il formato sottaceto di Python. Dobbiamo prima importare il modulo sottaceto per svolgere questo compito. I dati dall'oggetto possono quindi essere salvati nel file implementando il sottaceto.Dump () Metodo.

Sintassi

Il sottaceto.Il metodo dump () accetta due parametri. L'oggetto che intendi salvare viene inviato come primo parametro. La seconda istruzione è l'entità della directory che ricevi dopo aver acceduto al file specificato in modalità Write-Binary (WB).

Esempio 01: Inserimento di più righe di dati in un file sottaceto utilizzando la funzione di dump sottaceto

In questo esempio, esamineremo un semplice esempio in cui useremo un sottaceto.Metodo dump () per un file. Il primo passo è importare il modulo sottaceto in Python per utilizzare i suoi metodi. Nella riga successiva, viene utilizzato un prompt di input per chiedere all'utente di inserire il numero di cifre che l'utente desidera inserire. È memorizzato nella variabile "num". Un elenco vuoto è anche inizializzato come "dati". Quindi viene eseguito un ciclo per il numero di tempi di dati. In ogni ciclo, il programma chiede all'utente di inserire i dati. Questi dati sono aggiunti all'elenco "dati".

Quando tutti i dati vengono aggiunti e il loop termina, un file viene aperto in modalità WETRI (WB) e viene archiviato nella variabile "file". Nella riga successiva, sottaceto.Il metodo dump () è implementato sul file dato con i "dati". Infine, il file è chiuso.

Al terminale di output, possiamo vedere le istruzioni di input che il programma ha chiesto all'utente di inserire. In questo esempio, la quantità di dati era 2. Uno era il numero 12 e l'altro era il numero 15. Se apriamo il file, saremmo in grado di vedere che i dati sono scritti in quel file.

Possiamo vedere tre file per il seguente programma. Uno è il file in cui è scritto il codice. Il file principale è dove viene eseguito il codice. Il file "Info" è il file binario creato da Pickle.dump () in cui abbiamo scaricato i dati.

Ora vedremo come possiamo recuperare i dati del sottaceto. Per recuperare i dati del sottaceto, è necessario utilizzare il sottaceto.Metodo load (). Quando si visualizza un file in modalità Read-Binary (RB), è possibile accedere al contenuto della directory.

Come il sottaceto.Load () è anche un metodo del modulo sottaceto, dobbiamo prima importare questo modulo per utilizzarlo. Nella riga successiva, il file "Info" è aperto in modalità RB. Quindi il sottaceto.Il metodo load () viene chiamato sull'oggetto file e i dati vengono archiviati nella variabile denominata "dati". Quindi un ciclo per attraversare i dati per stampare i dati sul terminale di output, come mostrato nella seguente schermata:

Esempio 02: Inserimento di più elenchi di dati in un file sottaceto utilizzando la funzione di dump sottaceto

Di seguito è mostrato un altro campione di dati di decapaggio e sgradevole:

Nel codice precedente, vengono creati due dizionari per due persone, vale a dire John e Logan, con i loro rispettivi nomi e età. Il dizionario "List1" contiene gli attributi di entrambe le persone. Quindi il file "Info" viene aperto in MODE APPEND (AB). Salamoia.dump () viene applicato all'oggetto file che aggiunge il dizionario/dati "List1". Infine, il file è chiuso.

Nel codice precedente, useremo il sottaceto.Metodo load () per scollegare i dati che abbiamo appena scattonato nel file "info". Il file viene aperto in modalità RB e sottaceto.Il metodo load () viene applicato all'oggetto file. I dati restituiti sono archiviati nella variabile denominata "List1". Il Loop viene quindi utilizzato per mostrare l'intero contenuto di "List1" ai terminali secondari, come mostrato nella seguente immagine:

Esempio 03: Inserimento di più elenchi di dati in senza un file sottaceto utilizzando la funzione di dump sottaceto e quindi caricarli nella console

Ora, diamo un'occhiata a diversi esempi di dati di decapaggio e scollegamento senza utilizzare un file. Inoltre, questa volta useremo il sottaceto.Dumps () e sottaceto.Metodi carichi (). L'unica differenza è che quest'ultimo metodo crea e legge il file contenente il risultato della serializzazione, mentre il metodo Dumps () e Loads () funziona su una stringa anziché su un file e restituisce una stringa.

Nel codice precedente, vengono creati due diversi dizionari contenenti rispettivi dettagli su John e Logan. Quindi viene creato un dizionario primario "List1" e questi due dizionari separati vengono aggiunti ad esso. Nella riga successiva, il sottaceto .Il metodo dumps () viene utilizzato per scaricare i dati come stringa nel nuovo oggetto, "a". Nella riga successiva, i dati scaricati sono scolpiti utilizzando un sottaceto.Metodo Loads () e memorizza i dati in una nuova variabile, "Voce". La scheda Risultati presenta quindi i dati sbalorditi come visualizzato nell'immagine sottostante.

Esempio 04: inserire i dati in un file sottaceto utilizzando la struttura della classe per passare i dati nella funzione di dump sottaceto

In questo esempio, useremo le classi per comprendere il funzionamento del sottaceto e dei metodi di stampino. Nel seguente codice, una classe denominata "DataList", viene creata con una funzione load_data (). Un numero intero e una stringa sono definiti rispettivamente negli oggetti, "A" e "B". Quindi al di fuori della classe, viene creato un oggetto di Datalist () con il nome "OBJ", che contiene i dati. Quindi questo oggetto è sottaceto e archiviato in una nuova variabile "dati" utilizzando Pickle.Dumps () Metodo. Per scollegare i dati, sottaceto.Il metodo Loads () è implementato su "dati".

Infine, i dati restituiti da Pickle.Loads () viene visualizzato nel terminale di uscita sotto forma del dizionario, come mostrato nella seguente screenshot:

Esempio 05: Inserimento di una stringa lunga in un file sottaceto utilizzando la funzione COMPRESS insieme alla funzione di scarico del sottaceto

Il prossimo caso dimostrerà come comprimere gli oggetti in salamoia. È possibile utilizzare il modulo BZ2 dalla libreria Python standard per comprimere una stringa in salamoia utilizzando BZIP2.

In questo codice, i dati del tipo di prima stretta vengono inizializzati e memorizzati in una variabile denominata "dati". Nella riga successiva, questi dati sono sottaceti utilizzando un sottaceto. Dumps () sull'oggetto chiamato "Dump". Quindi questo oggetto viene compresso usando BZ2.Metodo Compress () e memorizzato nell'oggetto "Dump2". Qui, "dump" contiene i dati non compressi della stringa mentre l'oggetto "dump2" contiene i dati compressi. Possiamo provarlo trovando la lunghezza di entrambi gli oggetti usando il comando Len ().

Conclusione

Spero attraverso questo tutorial, ora capisci come usare il modulo sottaceto di Python per convertire una gerarchia oggetto in un flusso di byte che possono essere archiviati per disco o inviati su una rete e il metodo di deserializzazione di Python. Ora sei ben attrezzato per persistere oggetti usando il pacchetto Python Pickle.