Python

Python Pickle Tutorial

Python Pickle Tutorial

Python-udviklere vil gemme dataobjekterne som lister, ordbøger, tupler og klasser i en fil. I denne situation kommer Python pickle-modulet i spil.

Pickle er det indbyggede Python-modul, der bruges til serialisering og deserialisering af Python-objektets struktur. Serialisering er processen med at konvertere Python-objektet til en byte-strøm (0 og 1). Det er også kendt som bejdsning. Formålet med bejdsningsprocessen er at gemme Python-objektet på en disk i form af en byte-strøm. Det Python-syltede objekt kan konverteres tilbage til Python-objektet, og denne proces er kendt som unpickling eller deserialisering.

Python-bejdsning er nyttig, når vi skal gemme Python-objektets tilstand og udføre dataanalyseopgaven. For eksempel når vi arbejder med dyb læringsalgoritmer, og vi vil bruge det til et senere tidspunkt. I denne tilstand kan vi gemme det på disken til senere brug. Bejdsning er dog ikke en god mulighed, når vi arbejder med forskellige programmeringssprog. Det syltede objekt kan ikke fjernes på noget andet programmeringssprog, da det ikke har understøttelse på tværs af sprog. Objektet, der er syltet i Python, kan kun fjernes i Python. Det samme gælder for forskellige Python-versioner; et objekt, der er syltet i en bestemt Python-version, kan muligvis ikke fjernes korrekt i en anden version. For at udføre pickling og unpickling-processen skal vi først importere pickle-modulet i vores Python-script.

I denne artikel lærer vi at bruge Python pickle-modulet til at udføre pickling og unpickling med eksempler.

Eksempler på Python bejdsning

Lad os se nogle eksempler for at forstå Python-betningsprocessen. Før vi udfører bejdsning, skal vi åbne filen i skrivetilstand. Filen skal åbnes i binær tilstand, da det syltede objekt er gemt i byte-strømmen. Dump () er en funktion af pickle-modulet, der bruges til at oprette pickle. Det tager to argumenter, dvs.e., det Python-objekt, der skal syltes, og filen, hvor det syltede objekt gemmes.

Eksempel 1: Pickle en liste

I det givne eksempel har vi oprettet en liste over numre og syltede den ved hjælp af syltede agurker.dump () funktion.

#importing pickle module
import pickle
# erklærer en nummerliste
num_list = [1,2,3,4,5,6]
# pickling af listen og lagring i en fil
listfile = åben ('listPickle', 'wb')
pickle.dump (num_list, listfile)
listefil.tæt()
udskrive ("Listepiklen er oprettet med succes.")

Produktion

Outputtet viser, at listen er syltet med succes.

Eksempel 2: Pickle en ordbog

Lad os nu plukke et Python-ordbogobjekt. En elevordbog oprettes og syltes ved hjælp af pickle.dump () funktion.

#importing pickle module
import pickle
# erklærer en elevordbog
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
#plukning af ordbogen og lagring i en fil
dictfile = åben ('dictPickle', 'wb')
pickle.dump (std_dict, dictfile)
diktafil.tæt()
print ("Ordbogen er syltet med succes.")

Produktion

Outputtet viser, at ordbogen er syltet med succes.

Eksempel 3: Pickle en tuple

Lad os nu plukke et Python tuple-objekt. En tuple-genstand oprettes og syltes ved hjælp af pickle.dump () funktion.

#importing pickle module
import pickle
# erklærer en tuple
min_tuple = ((1,1), (2,2), (3,3), (4,4))
#plukning af ordbogen og lagring i en fil
tuplefile = åben ('tuplePickle', 'wb')
pickle.dump (my_tuple, tuplefile)
tuplefile.tæt()
print ("Tuplen syltes med succes.")

Produktion

Outputtet viser, at tuple-objektet er syltet med succes.

I orden! Det handlede kun om at bejdse de forskellige Python-objekter.

Eksempler på Python Unpickling

Lad os nu se nogle eksempler på Python-unpickling-processen. Vi fjerner alle Python-objekter, som vi har syltet i de foregående eksempler. I unpickling-processen åbnes den syltede fil i læsningstilstand. Picklen.load () funktion bruges til at fjerne markeringen af ​​Python-objektet. Filobjektet sendes som et argument til picklen.load () funktion.

Eksempel 1: Fjern markeringen af ​​en liste

Det syltede listeobjekt fjernes og tildeles et nyt listeobjekt.

#importing pickle module
import pickle
#åbning af listen Pick-fil i læsestemning
pickle_in = åben ('listPickle', 'rb')
# unpickling the list and assigning to the list object
num_list = pickle.belastning (pickle_in)
udskriv (num_liste)

Produktion

Eksempel 2: Fjern markeringen af ​​en ordbog

Det syltede elevordbogsobjekt fjernes og tildeles et nyt ordbogobjekt.

#importing pickle module
import pickle
#åbning af dictPickle-filen i læsestemning
pickle_in = åben ('dictPickle', 'rb')
# unpickling the dict and assigning to the dictionary object
std_dict = pickle.belastning (pickle_in)
udskrive (std_dict)

Produktion

Eksempel 3: Fjern markeringen af ​​en tupleOutput

Det syltede tupleobjekt fjernes og tildeles et nyt tupleobjekt.

#importing pickle module
import pickle
#åbning af tuplePickle-filen i læsestemning
pickle_in = åben ('tuplePickle', 'rb')
# unpickling tuple og tildele til ordbogens objekt
std_dict = pickle.belastning (pickle_in)
udskrive (std_dict)

Produktion

 Konklusion

Pickle er et indbygget Python-modul, der bruges til at udføre serie- og deserialiseringsoperationer. Serialisering og deserialisering er også kendt som henholdsvis betning og fjernelse af pickling. Gennem bejdsning kan vi gemme Python-objektet i form af en byte stream og senere hente det. Unpickling-processen henviser til konvertering af det syltede objekt til et Python-objekt. Denne artikel forklarer bejdsning og udpakning med eksempler.

Sådan installeres og afspilles Doom på Linux
Introduktion til undergang Doom-serien opstod i 90'erne efter frigivelsen af ​​den originale Doom. Det var et øjeblikkeligt hit, og fra den tid af har...
Vulkan til Linux-brugere
Med hver nye generation af grafikkort ser vi spiludviklere skubbe grænserne for grafisk troskab og komme et skridt tættere på fotorealisme. Men på tro...
OpenTTD vs Simutrans
Oprettelse af din egen transportsimulering kan være sjovt, afslappende og ekstremt lokkende. Derfor skal du sørge for at prøve så mange spil som mulig...