Python-utviklere vil lagre dataobjektene som lister, ordbøker, tupler og klasser i en fil. I denne situasjonen spiller Python pickle-modulen inn.
Pickle er den innebygde Python-modulen som brukes til serialisering og deserialisering av Python-objektets struktur. Serialisering er prosessen med å konvertere Python-objektet til en byte-strøm (0 og 1). Det er også kjent som beising. Formålet med beiseprosessen er å lagre Python-objektet på en disk i form av en byte-strøm. Python-syltet objekt kan konverteres tilbake til Python-objektet, og denne prosessen er kjent som unpickling eller deserialisering.
Python-syltingen er nyttig når vi må lagre tilstanden til Python-objektet og utføre dataanalyseoppgaven. For eksempel når vi jobber med dyplæringsalgoritmer, og vi vil bruke den til et senere tidspunkt. I denne tilstanden kan vi lagre den på disken for senere bruk. Beising er imidlertid ikke et godt alternativ når vi jobber med forskjellige programmeringsspråk. Det syltede objektet kan ikke fjernes på noe annet programmeringsspråk, da det ikke har støtte på flere språk. Objektet som er syltet i Python, kan bare fjernes i Python også. Det samme gjelder for forskjellige Python-versjoner; et objekt som er syltet i en bestemt Python-versjon, kan ikke fjernes riktig i en annen versjon. For å utføre pickling- og unpickling-prosessen, må vi først importere pickle-modulen i vårt Python-skript.
I denne artikkelen vil vi lære å bruke Python pickle-modulen til å utføre pickling og unpickling med eksempler.
Eksempler på Python Pickling
La oss se noen eksempler for å forstå Python pickling prosessen. Før vi utfører beisingen, må vi åpne filen i skrivemodus. Filen må åpnes i binærmodus, ettersom det syltede objektet er lagret i byte-strømmen. Dump () er en funksjon av pickle-modulen som brukes til å lage pickle. Det tar to argumenter, jeg.e., Python-objektet som skal syltes og filen der det syltede objektet skal lagres.
Eksempel 1: Pickle en liste
I det gitte eksemplet har vi laget en liste med tall og syltet ved hjelp av sylteagurk.dump () -funksjon.
#importing pickle moduleimportere sylteagurk
#declaring a numbers list
num_list = [1,2,3,4,5,6]
#velge listen og lagre i en fil
listfile = open ('listPickle', 'wb')
sylteagurk.dump (num_list, listfile)
listefil.Lukk()
print ("Listesyltingen er opprettet.")
Produksjon
Resultatet viser at listen er syltet vellykket.
Eksempel 2: Pickle en ordbok
La oss nå syle et Python-ordbokobjekt. En studentordbok blir opprettet og syltet ved hjelp av sylteagurk.dump () -funksjon.
#importing pickle moduleimportere sylteagurk
#deklarere en studentordbok
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
#velge ordboken og lagre i en fil
dictfile = åpen ('dictPickle', 'wb')
sylteagurk.dump (std_dict, dictfile)
diktfil.Lukk()
print ("Ordboken er syltet vellykket.")
Produksjon
Utgangen viser at ordboken er vellykket syltet.
Eksempel 3: Pickle a tuple
La oss nå sylte et Python tuple-objekt. Et tupleobjekt blir opprettet og syltet ved hjelp av sylteagurk.dump () -funksjon.
#importing pickle moduleimportere sylteagurk
#declaring a tuple
min_tuple = ((1,1), (2,2), (3,3), (4,4))
#velge ordboken og lagre i en fil
tuplefile = åpen ('tuplePickle', 'wb')
sylteagurk.dump (my_tuple, tuplefile)
tuplefile.Lukk()
print ("Tupelen syltes vellykket.")
Produksjon
Utgangen viser at tupleobjektet er syltet vellykket.
Ok! Det handlet om å sylte de forskjellige Python-objektene.
Python Unpickling Eksempler
La oss nå se noen eksempler på Python-unpickling-prosessen. Vi vil fjerne alle Python-objektene som vi har syltet i de foregående eksemplene. I unpickling-prosessen åpnes den syltede filen i lesemodus. Pickle.load () -funksjonen brukes til å fjerne markeringen av Python-objektet. Filobjektet sendes som et argument til sylteagurk.load () -funksjon.
Eksempel 1: Fjern en liste
Det syltede listeobjektet fjernes og tildeles et nytt listeobjekt.
#importing pickle moduleimportere sylteagurk
#åpning av listen Pickle-fil i lesestemning
pickle_in = åpen ('listPickle', 'rb')
# unpickling listen og tilordne til listeobjektet
num_list = sylteagurk.last (pickle_in)
skriv ut (num_list)
Produksjon
Eksempel 2: Fjern en ordbok
Det syltede studentordbokobjektet fjernes og tildeles et nytt ordbokobjekt.
#importing pickle moduleimportere sylteagurk
#åpning av dictPickle-filen i lesestemning
pickle_in = åpen ('dictPickle', 'rb')
# unpickling the dict og tilordne til ordbokobjektet
std_dict = sylteagurk.last (pickle_in)
skriv ut (std_dict)
Produksjon
Eksempel 3: Fjern en tupleOutput
Det syltede tupleobjektet fjernes og tildeles et nytt tupleobjekt.
#importing pickle moduleimportere sylteagurk
#åpning av tuplePickle-filen i lesestemning
pickle_in = åpen ('tuplePickle', 'rb')
# unpickling tuple og tilordne til ordbokobjektet
std_dict = sylteagurk.last (pickle_in)
skriv ut (std_dict)
Produksjon
Konklusjon
Pickle er en innebygd Python-modul som brukes til å utføre serialiserings- og deserialiseringsoperasjoner. Serialisering og deserialisering er også kjent som henholdsvis pickling og unpickling. Gjennom beising kan vi lagre Python-objektet i form av en byte-strøm og senere hente den. Unpickling-prosessen refererer til å konvertere det syltede objektet til et Python-objekt. Denne artikkelen forklarer beising og utpakking med eksempler.