Pythoni arendajad soovivad andmeobjektid, nagu loendid, sõnaraamatud, koondfailid ja klassid, faili salvestada. Selles olukorras tuleb mängu Pythoni hapukurkmoodul.
Pickle on sisseehitatud Pythoni moodul, mida kasutatakse Pythoni objekti struktuuri serialiseerimiseks ja deserialiseerimiseks. Serialiseerimine on Pythoni objekti teisendamine baidivoogudeks (0 ja 1). Seda tuntakse ka kui marineerimist. Peitsimisprotsessi eesmärk on Pythoni objekti salvestamine kettale baidivoo kujul. Pythoni marineeritud objekti saab tagasi Pythoni objektiks teisendada ja seda protsessi nimetatakse eemaldamise või deserialiseerimiseks.
Püütoni marineerimine on kasulik, kui peame Pythoni objekti oleku salvestama ja andmeanalüüsi ülesande täitma. Näiteks kui töötame sügavate õppimisalgoritmidega ja soovime seda kasutada hilisemaks ajaks. Selles olukorras saame selle kettale hilisemaks kasutamiseks salvestada. Marineerimine ei ole siiski hea valik, kui töötame erinevate programmeerimiskeeltega. Marineeritud objekti ei saa üheski teises programmeerimiskeeles lahti võtta, kuna sellel pole keelteülest tuge. Pythonis marineeritud objekti võib koorida ka ainult Pythonis. Sama kehtib ka erinevate Pythoni versioonide kohta; konkreetses Pythoni versioonis marineeritud objekti ei pruugi teises versioonis korralikult koorida. Marineerimise ja marineerimise eemaldamiseks tuleb kõigepealt importida meie Pythoni skripti marineerimise moodul.
Selles artiklis õpime näidete abil marineerimise ja marineerimise teostamiseks kasutama Pythoni hapukurkmoodulit.
Näited Pythoni marineerimisest
Vaatame mõningaid näiteid Pythoni marineerimise protsessi mõistmiseks. Enne marineerimistoimingu tegemist peame faili avama kirjutamisrežiimis. Fail tuleb avada binaarrežiimis, kuna marineeritud objekt salvestatakse baitide voos. Dump () on hapukurgi mooduli funktsioon, mida kasutatakse hapukurgi loomiseks. Selleks on vaja kahte argumenti, s.t.e., marineeritud Pythoni objekt ja fail, kuhu marineeritud objekt salvestatakse.
Näide 1: marineeri loendit
Antud näites oleme loonud loetelu numbritest ja marineerinud seda hapukurgi abil.funktsioon dump ().
#importimine hapukurk moodulimport hapukurk
#numbriloendi deklareerimine
num_list = [1,2,3,4,5,6]
#loendi valimine ja faili salvestamine
listfile = avatud ('listPickle', 'wb')
hapukurk.dump (num_list, listfile)
loendifail.Sulge()
print ("Loendikurk on edukalt loodud.")
Väljund
Väljund näitab, et loetelu on edukalt marineeritud.
Näide 2: marineeri sõnaraamat
Nüüd marineerime Pythoni sõnaraamatu objekti. Õpilaste sõnastik luuakse ja marineeritakse hapukurgi abil.funktsioon dump ().
#importimine hapukurk moodulimport hapukurk
#deklareerides õpilase sõnaraamatu
std_dict = 'nimi': 'John', 'vanus': 22, 'klass': 'BS'
# sõnastiku marineerimine ja faili salvestamine
dictfile = avatud ('dictPickle', 'wb')
hapukurk.dump (std_dict, dictfile)
diktofail.Sulge()
print ("Sõnastiku marineerimine õnnestus.")
Väljund
Väljund näitab, et sõnaraamat on edukalt marineeritud.
Näide 3: marineerige paar
Nüüd marineerime Pythoni dupleksiobjekti. Kaheobjekt luuakse ja marineeritakse hapukurgi abil.funktsioon dump ().
#importimine hapukurk moodulimport hapukurk
#duppi deklareerimine
my_tuple = ((1,1), (2,2), (3,3), (4,4))
# sõnastiku marineerimine ja faili salvestamine
tuplefile = avatud ('tuplePickle', 'wb')
hapukurk.dump (my_tuple, tuplefile)
tuplefile.Sulge()
print ("Tupli marineerimine õnnestus.")
Väljund
Väljund näitab, et dupleksiobjekti marineerimine õnnestus.
Hästi! See kõik käis erinevate Pythoni objektide marineerimise kohta.
Näited Pythoni koorimisest
Nüüd vaatame mõningaid näiteid Pythoni eemaldamise protsessist. Harjutame lahti kõik Pythoni objektid, mille oleme eelmistes näidetes marineerinud. Koorimise käigus avatakse marineeritud fail lugemisrežiimis. Hapukurk.funktsiooni load () kasutatakse Pythoni objekti valimiseks. Failiobjekt edastatakse soolakurgi argumendina.koormuse () funktsioon.
Näide 1: Loendi valimine
Marineeritud loendiobjekt eemaldatakse ja määratakse uuele loendiobjektile.
#importimine hapukurk moodulimport hapukurk
#opening listPickle fail lugemismeeleolus
marineeritud_in = avatud ('listPickle', 'rb')
# loendi valimine ja loendi objektile määramine
num_list = hapukurk.laadige (hapukurk sisse)
print (num_list)
Väljund
Näide 2: Sõnaraamatu valimine
Marineeritud õpilase sõnaraamatu objekt eemaldatakse ja määratakse uuele sõnaraamatu objektile.
#importimine hapukurk moodulimport hapukurk
# faili dictPickle avamine lugemismeeleolus
marineeritud_in = avatud ('dictPickle', 'rb')
# dikteerimata noppimine ja sõnaraamatu objektile määramine
std_dict = hapukurk.laadige (hapukurk sisse)
print (std_dict)
Väljund
Näide 3: eemaldage tupleOutput
Marineeritud korpuse objekt eemaldatakse ja määratakse uuele dupleksobjektile.
#importimine hapukurk moodulimport hapukurk
# faili tuplePickle avamine lugemismeeleolus
marineeritud_in = avatud ('tuplePickle', 'rb')
# korrutamise noppimine ja sõnaraamatu objektile määramine
std_dict = hapukurk.laadige (hapukurk sisse)
print (std_dict)
Väljund
Järeldus
Pickle on Pythoni sisseehitatud moodul, mida kasutatakse jada- ja deserialiseerimisoperatsioonide teostamiseks. Serialiseerimist ja deserialiseerimist tuntakse ka vastavalt marineerimise ja marineerimiseta. Marineerimise abil saame Pythoni objekti baidivoo kujul salvestada ja hiljem selle kätte saada. Koorimise protsess viitab marineeritud objekti teisendamisele Pythoni objektiks. Selles artiklis selgitatakse näidete abil marineerimise ja marineerimise eemaldamise protsessi.