Pickle žodynas Python

Pickle Zodynas Python



„Pickle“ gali būti naudojamas iš anksto apdoroti „Python“ objektų sistemas, kurios yra objekto konvertavimas iš atminties į baitų srautą, kurį galima įrašyti į diską dvejetainiu formatu. Ši procedūra žinoma kaip serializavimas. Norėdami tai padaryti, naudokite marinavimo dump() metodą. Kai šis dvejetainis įrašas vėl įkeliamas į „Python“ programą, jį galima išjungti ir konvertuoti atgal į Python objektą naudojant „picle load()“ metodą.

Šiame straipsnyje mokoma, kaip saugoti duomenis, tiksliau – žodyną, naudojant Python marinavimo modulį. Norėdami pradėti, turime įsigyti marinato modulį. Pickle dump() priima tris parametrus. Pirmoji įvestis nurodo duomenis, kuriuos reikia išsaugoti. Antrasis parametras yra failo objektas, kuris grąžinamas, kai failas atidaromas dvejetainiu rašymo (wb) režimu. Rakto vertės argumentas yra trečiasis parametras. Protokolas apibrėžiamas šiuo parametru. Marinuoti agurkai skirstomi į du tipus: AUKŠČIAUSIAS PROTOKOLAS ir NUMATYTOJI marinuota agurkė. Duomenims nuskaityti arba serializuoti naudojamas marinavimo įkrovos () metodas, per kurį failo objektas gaunamas atidarius failą skaitymo dvejetainiu (rb) režimu.







1 pavyzdys: Duomenų serializavimas ir deserializavimas marinavimo faile naudojant Pickle Dump and Load funkciją

Šiame pavyzdyje išmoksime nuosekliai ir deserializuoti duomenis kaip žodyną su labai paprastu kodu.




Ankstesnėje iliustracijoje pateiktame kode importuojamas pirmasis marinavimo modulis iš Python bibliotekos, kad būtų galima naudoti jo metodus. Tada inicijuojamas duomenų žodynas su 2 raktais ir reikšmėmis ir saugomas kintamajame pavadinimu „shape“. Kitoje eilutėje metodas pickle dump() naudojamas norint atidaryti naują failą pavadinimu „info.p“ dvejetainiu rašymo (wb) režimu, o „formos“ duomenys saugomi šiame faile. Kitoje eilutėje marinavimo įkrovos () metodas naudojamas tam pačiam failui, į kurį išmetėme duomenis rb režimu. Tai grąžina mūsų žodyno duomenis ir yra saugomi kintamajame pavadinimu „a“. Galiausiai šis grąžintas objektas rodomas išvesties terminale naudojant spausdinimo komandą, kaip parodyta toliau pateiktoje ekrano kopijoje.



Matome, kad duomenys pirmiausia buvo saugomi „info.p“ faile naudojant iškelties metodą. Tada, kai tam pačiam failui panaudojome load() metodą, susigrąžinome duomenis.





2 pavyzdys: Funkcijos Pickle Dump naudojimas su papildomu protokolu duomenims nuoseklizuoti Python

Tai yra panašus pavyzdys, kuriame naudojame papildomą marinato protokolą „HIGHEST_PROTOCOL“, kuris yra naujausias protokolas. Šis protokolas suteikia naujų kalbos funkcijų, kurias galime naudoti, ir apima optimizavimą.




Kode, pateiktu ankstesnėje iliustracijoje, importuojamas pirmasis marinato modulis. Tada inicijuojamas vieno elemento žodynas su raktu ir reikšme ir saugomas kintamajame „a“. Kitoje eilutėje naujas failas, kuris yra „info.p“, atidaromas wb režimu kaip rankena. Dabar failas yra objekte, vadinamame „rankena“. Tada funkcija dump() naudojama „tvarkyti“ su žodynu „a“, naudojant „HIGHEST_PROTOCOL“. Tai leidžia „a“ žodyną išsaugoti „info.p“ faile kompiuterio diske. Norint išgauti informaciją iš failo, pirmiausia failas atidaromas rb režimu. Tada šiam failui naudojamas metodas „picle load()“. Grąžinti duomenys išsaugomi atribute „b“. Galiausiai, naudojant spausdinimo komandą, ši informacija rodoma išvesties mazge, kaip matyti toliau pateiktame ekrane:

3 pavyzdys: Duomenų sąrašo serializavimas ir deserializavimas marinavimo faile naudojant Pickle Dump and Load funkciją

Šiame pavyzdyje pirmiausia importuojamas marinato modulis. Tada kai kurie duomenys įterpiami į žodyną sąrašo formatu ir saugomi kintamajame „shape_colors“. Kitoje eilutėje su šiais duomenimis tiesiogiai naudojamas marinavimo dump() metodas. Vietoj failo parametre „info.p“ failas atidaromas wb režimu. Dėl to žodyno duomenys dabar iškeliami į šį failą, kuris saugomas kompiuterio diske. Tada, norint nuskaityti duomenis iš failo, tame pačiame faile naudojamas metodas „picle load()“. Grąžinti duomenys išsaugomi kintamajame „a“. Galiausiai, naudojant spausdinimo komandą, ši informacija rodoma antriniuose terminaluose, kaip parodyta šioje momentinėje nuotraukoje:



4 pavyzdys: informacijos saugojimas marinavimo faile naudojant marinavimo išmetimo ir įkėlimo funkcijas su skirtingais parametrais

Pateiktu kodu importuojamas pirmasis marinato modulis. Tada inicijuojamas atlyginimų žodynas ir saugomas kintamajame „atlyginimai“. Kitoje eilutėje kaip rankena atidaromas naujas failas „alga.p“ wb režimu. Dabar failas yra objekte, vadinamame „rankena“. Tada funkcija „picle dump()“ naudojama „tvarkyti“ su „salies“ žodynu naudojant „HIGHEST_PROTOCOL“. Tai leidžia žodyną „algais“ įrašyti „salary.p“ faile į kompiuterio diską. Dabar, norint atkurti duomenis iš failo, failas pirmiausia atidaromas „rb“ režimu. Tada šiam failui naudojamas metodas „picle load()“. Sugrąžinta informacija išsaugoma kintamajame „a“. Galiausiai, naudojant spausdinimo komandą, šie duomenys rodomi išvesties gale, kaip parodyta šioje momentinėje nuotraukoje:



5 pavyzdys: kelių matmenų duomenų serializavimas ir deserializavimas marinavimo faile naudojant marinavimo ir įkėlimo funkciją

„DataFrames“ (daugiamatių lentelių) kūrimas „Python“ yra patogus norint išbandyti naujus metodus ir funkcijas, esančias „Panda“ Python modulyje. Yra įvairių metodų, kaip sukurti DataFrame nuo nulio, tačiau vienas iš paprasčiausių yra naudoti pagrindinį žodyną.


Ankstesnėje iliustracijoje pateiktu kodu importuojamas pirmasis marinatas ir Pandas moduliai. Tada, naudojant pd.DataFrame() metodą, sukuriama daugiamatė lentelė. Kitas strategijos atributas yra keturių sąrašų sąrašas. Kiekvienas sąrašas atitinka lentelės eilutę. Antrasis parametras yra 'stulpeliai', kuris apibrėžia kiekvieno lentelės stulpelio antraštę. Šis duomenų rėmelis yra saugomas „pre“. Tada wb režimu atidaromas naujas failas „attendance.p“ ir šiame faile su „DataFrame“ naudojamas metodas „picle dump()“. Dabar mūsų nurodyti duomenys yra saugomi „attendance.p“ faile kompiuterio standžiajame diske.


Norėdami gauti duomenis iš failo, atidarome failą rb režimu, kuris leidžia nuskaityti failą. Tada „attendance.p“ faile naudojamas „picle load()“ metodas. Galiausiai failo duomenys rodomi išvesties terminale. Kaip matome, visas DataFrame rodomas išvesties terminale, kuris yra saugomas „attendance.p“ faile.

Išvada

Imkitės papildomų atsargumo priemonių dirbdami su marinuotų agurkų dildėmis. Marinuotų agurkų moduliui trūksta saugumo. Atrinkite tik tuos duomenis, kuriais esate įsitikinę. Galima sukurti kenkėjiškus rinkimo duomenis, kurie atrinkimo proceso metu gali vykdyti savavališką kodą. Vis dėlto tai yra veiksmingas būdas saugoti žodynus, sąrašus ir lenteles Python. Marinavimas yra ypač naudingas analizuojant duomenis, kai atliekate įprastas duomenų operacijas, pvz., išankstinį apdorojimą. Tikiuosi, kad šis straipsnis padėjo jums sužinoti apie įvairius Python marinavimo modulio metodus ir kaip jį naudoti su žodynais.