Python

Python Pickle Tutorial

Python Pickle Tutorial

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 module
importere 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 module
importere 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 module
importere 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 module
importere 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 module
importere 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 module
importere 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.

Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...