Python Pickle Tutorial

Python Pickle Tutorial

Python -utviklere ønsker å lagre dataobjektene som lister, ordbøker, tuples og klasser i en fil. I denne situasjonen kommer Python Pickle -modulen inn i spillet.

Pickle er Python innebygd modul som brukes til å serialisere og deserialisere Python-objektets struktur. Serialisering er prosessen med å konvertere Python -objektet til en byte -strøm (0 og 1). Det er også kjent som sylting. Hensikten med picklingprosessen er å lagre Python -objektet på en disk i form av en byte -strøm. Python syltet gjenstand kan konverteres tilbake til Python -objektet, og denne prosessen er kjent som upikking eller deserialisering.

Python sylting er nyttig når vi må redde tilstanden til Python -objektet og utføre dataanalyseoppgaven. For eksempel når vi jobber med dyp læringsalgoritmer, og vi vil bruke den til en senere tid. I denne tilstanden kan vi lagre den på disken for senere bruk. Pickling er imidlertid ikke et godt alternativ når vi jobber med forskjellige programmeringsspråk. Det syltede objektet kan ikke plukkes på noe annet programmeringsspråk, da det ikke har tverrspråklig støtte. Objektet som er syltet i Python, kan bare være plukket ut i Python også. Det samme gjelder for forskjellige Python -versjoner; Et objekt som er syltet i en spesifikk Python -versjon, kan ikke bli plukket ut ordentlig i en annen versjon. For å utføre pickling- og upikkingsprosessen, må vi først importere pickle -modulen i Python -skriptet vårt.

I denne artikkelen vil vi lære å bruke Python Pickle -modulen for å utføre sylting og upikking med eksempler.

Python syltingeksempler

La oss se noen eksempler for å forstå Python Pickling -prosessen. Før vi utfører picklingoperasjonen, må vi åpne filen i skrivemodus. Filen må åpnes i binærmodus, da den syltede objektet er lagret i byte -strømmen. Dumpen () er en funksjon av sylteagurken som brukes til å lage sylteagurken. Det tar to argumenter, jeg.e., Python -objektet som skal syltetes og filen der det syltede objektet blir lagret.

Eksempel 1: Pickle en liste

I det gitte eksemplet har vi laget en liste over tall og syltet den ved hjelp av sylteagurken.dump () funksjon.

#importing sylteagurkemodul
Importer sylteagurk
#Declaring en numre -liste
num_list = [1,2,3,4,5,6]
#pikking listen og lagrer i en fil
ListFile = Open ('ListPickle', 'WB')
Pickle.dump (num_list, listfile)
ListFile.Lukk()
Print ("Listen Pickle er opprettet med hell.")

Produksjon

Utgangen viser at listen blir syltet vellykket.

Eksempel 2: Pickle A Dictionary

La oss nå syltetøy et Python -ordboksobjekt. En studentordbok er opprettet og syltet med sylteagurk.dump () funksjon.

#importing sylteagurkemodul
Importer sylteagurk
#Declaring a Student Dictionary
STD_DICT = 'Navn': 'John', 'Age': 22, 'Class': 'BS'
#pikking av ordboken og lagring i en fil
DictFile = Open ('Dictpickle', 'WB')
Pickle.dump (std_dict, dictfile)
Dictfile.Lukk()
trykk ("Ordboken blir syltet med hell.")

Produksjon

Utgangen viser at ordboken er syltet vellykket.

Eksempel 3: Pickle en tupel

La oss nå sylte et python tupleobjekt. Et tupleobjekt opprettes og syltet med sylteagurk.dump () funksjon.

#importing sylteagurkemodul
Importer sylteagurk
#Declaring en tuple
my_tuple = ((1,1), (2,2), (3,3), (4,4))
#pikking av ordboken og lagring i en fil
tuplefile = åpen ('tuplepickle', 'wb')
Pickle.dump (my_tuple, tuplefile)
tuplefile.Lukk()
trykk ("Tupelen blir syltet med hell.")

Produksjon

Utgangen viser at tupleobjektet blir syltet vellykket.

Ok! Det handlet om å sylte de forskjellige Python -objektene.

Python upikkende eksempler

La oss nå se noen eksempler på Python -upikking -prosessen. Vi vil fjerne alle Python -objektene som vi har syltet i de forrige eksemplene. I den upikkende prosessen åpnes den syltede filen i lesemodus. Sylteagurken.Last () -funksjonen brukes til å fjerne Python -objektet. Filobjektet sendes som et argument til pickle.Last () Funksjon.

Eksempel 1: Unpickle en liste

Det syltede listeobjektet er uplukket og tilordnet et nytt listeobjekt.

#importing sylteagurkemodul
Importer sylteagurk
#Åpne listpickle -filen i lesestemning
pickle_in = åpen ('listpickle', 'rb')
#Unpickling listen og tilordne listeobjektet
num_list = sylteagurk.Last (pickle_in)
print (num_list)

Produksjon

Eksempel 2: Unpickle a Dictionary

Den syltede studentordboksobjektet er uplukket og tildelt et nytt ordboksobjekt.

#importing sylteagurkemodul
Importer sylteagurk
#Åpne Dictpickle -filen i lesestemning
pickle_in = åpen ('dictpickle', 'rb')
#Unpickling dict og tilordne ordboksobjektet
STD_DICT = Pickle.Last (pickle_in)
Print (STD_DICT)

Produksjon

Eksempel 3: Unpickle en tupleoutput

Den syltede tupleobjektet er uplukket og tilordnet et nytt tupleobjekt.

#importing sylteagurkemodul
Importer sylteagurk
#Åpne tuplepickle -filen i lesestemning
pickle_in = åpen ('tuplepickle', 'rb')
#Unpickling tupelen og tilordne ordboksobjektet
STD_DICT = Pickle.Last (pickle_in)
Print (STD_DICT)

Produksjon

Konklusjon

Pickle er en python innebygd modul som brukes til å utføre serialiserings- og deserialiseringsoperasjonene. Serialisering og deserialisering er også kjent som henholdsvis sylting og upikking. Gjennom pickling kan vi lagre Python -objektet i form av en byte -strøm og senere hente den. Den upikkende prosessen refererer til å konvertere den syltede objektet til et python -objekt. Denne artikkelen forklarer syltetøy- og upikkingsprosessen med eksempler.