Pickle, som är en del av Python-biblioteket som standard, är en viktig modul när du behöver uthållighet mellan användarsessioner. Som en modul tillhandahåller pickle sparar Python-objekt mellan processer.
Oavsett om du programmerar för en databas, ett spel, ett forum eller något annat program som måste spara information mellan sessioner, är pickle användbart för att spara identifierare och inställningar. Pickle-modulen kan lagra saker som datatyper som booleaner, strängar och byte-matriser, listor, ordböcker, funktioner och mer.
Notera: Begreppet betning kallas också serialisering, marskalkning och plattning. Men punkten är alltid densamma - för att spara ett objekt i en fil för senare hämtning. Pickling åstadkommer detta genom att skriva objektet som en lång ström av byte.
För att skriva ett objekt till en fil använder du en kod i följande syntax:
importera pickle
objekt = objekt ()
filhandlare = öppen (filnamn, 'w')
pickle.dump (objekt, filhandlare)
Så här ser ett verkligt exempel ut:
importera pickle
importera matematik
object_pi = math.pi
file_pi = open ('filnamn_pi.obj', 'w')
pickle.dump (object_pi, file_pi)
Det här utdraget skriver innehållet i object_pi till filen hanteringsfil_pi, vilket i sin tur är bundet till filen filename_pi.obj i katalogen för körning.
För att återställa objektets värde till minnet, ladda objektet från filen. Förutsatt att picklet ännu inte har importerats för användning börjar du med att importera det:
importera pickle
filhandlare = öppen (filnamn, 'r')
object = pickle.load (filhandlare)
Följande kod återställer värdet på pi:
importera pickle
file_pi2 = open ('filnamn_pi.obj', 'r')
object_pi2 = pickle.load (file_pi2)
Objektet är sedan klart att användas igen, den här gången object_pi2. Du kan naturligtvis återanvända de ursprungliga namnen om du föredrar det. Detta exempel använder tydliga namn för tydlighet.
Tänk på dessa saker när du använder pickle-modulen:
Dricks: Ta också reda på hur du använder hyllor för att spara objekt i Python för en annan metod för att upprätthålla objektskontinuitet.