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 moduleimport 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 moduleimport 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 moduleimport 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 moduleimport 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 moduleimport 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 moduleimport 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.