Python-kehittäjät haluavat tallentaa dataobjektit, kuten luettelot, sanakirjat, tuplat ja luokat tiedostoon. Tässä tilanteessa Python-suolakurkkumoduuli tulee peliin.
Pickle on sisäänrakennettu Python-moduuli, jota käytetään Python-objektin rakenteen sarjallisuuteen ja deserialisointiin. Sarjallisuus on prosessi, jolla Python-objekti muunnetaan tavuvirraksi (0 ja 1). Se tunnetaan myös nimellä peittaus. Peittausprosessin tarkoituksena on tallentaa Python-objekti levylle tavuvirran muodossa. Python-peitattu objekti voidaan muuntaa takaisin Python-objektiksi, ja tämä prosessi tunnetaan poimimattomana tai deserialisaationa.
Python-peittaus on hyödyllinen, kun meidän on tallennettava Python-objektin tila ja suoritettava tietojen analysointitehtävä. Esimerkiksi kun työskentelemme syvällisten oppimisalgoritmien kanssa ja haluamme käyttää sitä myöhempää aikaa. Tässä tilassa voimme tallentaa sen levylle myöhempää käyttöä varten. Peittaus ei kuitenkaan ole hyvä vaihtoehto, kun työskentelemme eri ohjelmointikielien kanssa. Marinoitua objektia ei voida poistaa mikään muu ohjelmointikieli, koska sillä ei ole kielten välistä tukea. Pythonissa peitattu objekti voidaan poistaa myös vain Pythonissa. Sama pätee eri Python-versioihin; tietyssä Python-versiossa peitattua objektia ei voida poistaa oikein toisesta versiosta. Peittaus- ja peittausprosessin suorittamiseksi meidän on ensin tuotava suolakurkkumoduuli Python-komentosarjaamme.
Tässä artikkelissa opitaan käyttämään Python-suolakurkkumoduulia esimerkkien avulla peittaukseen ja poimimiseen.
Esimerkkejä Python-peittauksesta
Katsotaanpa joitain esimerkkejä Python-peittausprosessin ymmärtämiseksi. Ennen peittaustoiminnon suorittamista meidän on avattava tiedosto kirjoitustilassa. Tiedosto on avattava binaaritilassa, koska peitattu objekti tallennetaan tavuvirtaan. Dump () on suolakurkkumoduulin toiminto, jota käytetään suolakurkin luomiseen. Se vaatii kaksi argumenttia, so.e., peitattava Python-objekti ja tiedosto, johon peitattu objekti tallennetaan.
Esimerkki 1: Suolaa luettelo
Annetussa esimerkissä olemme luoneet luettelon numeroista ja peittaaneet sen suolakurkkua käyttäen.dump () -toiminto.
# importing suolakurkku moduulituoda suolakurkkua
#laskee numeroluettelon
num_lista = [1,2,3,4,5,6]
#luettelon poiminta ja tallentaminen tiedostoon
listfile = avaa ('listPickle', 'wb')
suolakurkku.dump (num_list, listfile)
luettelotiedosto.kiinni()
tulosta ("Luettelokurkkua luodaan onnistuneesti.")
Tuotos
Tulos osoittaa, että luettelo on peitattu onnistuneesti.
Esimerkki 2: Pickle sanakirja
Suolataan nyt Python-sanakirjaobjekti. Opiskelijan sanakirja luodaan ja peitataan suolakurkkua käyttäen.dump () -toiminto.
# importing suolakurkku moduulituoda suolakurkkua
#opiskelijan sanakirjan julistaminen
std_dict = 'nimi': 'John', 'ikä': 22, 'luokka': 'BS'
#poiminta sanakirjasta ja tallentaminen tiedostoon
dictfile = avoin ('dictPickle', 'wb')
suolakurkku.dump (std_dict, dictfile)
dictfile.kiinni()
tulosta ("Sanakirja on peitattu onnistuneesti.")
Tuotos
Tulos osoittaa, että sanakirja on peitattu onnistuneesti.
Esimerkki 3: suolakurkku
Suolataan nyt Python-kaksoisobjekti. Kaksoisobjekti luodaan ja peitataan suolakurkulla.dump () -toiminto.
# importing suolakurkku moduulituoda suolakurkkua
#dupplen julistaminen
my_tuple = ((1,1), (2,2), (3,3), (4,4))
#poiminta sanakirjasta ja tallentaminen tiedostoon
tuplefile = auki ('tuplePickle', 'wb')
suolakurkku.dump (my_tuple, tuplefile)
tuplefile.kiinni()
tulosta ("Tuplan peittaus onnistui.")
Tuotos
Lähtö osoittaa, että kaksoisobjekti on peitattu onnistuneesti.
Hyvä on! Siinä oli kyse eri Python-objektien peittaamisesta.
Pythonin poimimattomia esimerkkejä
Katsotaan nyt joitain esimerkkejä Pythonin poimintaprosessista. Poistamme kaikki Python-objektit, jotka olemme peittaaneet edellisissä esimerkeissä. Poiminnan aikana peitattu tiedosto avataan lukutilassa. Suolakurkkua.load () -funktiota käytetään poimimaan Python-objekti. Tiedosto-objekti välitetään argumenttina suolakurkkua varten.load () -toiminto.
Esimerkki 1: Poista luettelon valinta
Marinoitu luettelo-objekti poistetaan ja määritetään uudelle luettelo-objektille.
# importing suolakurkku moduulituoda suolakurkkua
#avaa luettelo Pickle-tiedosto lukutunnelmassa
suolakurkkua_in = avoin ('listPickle', 'rb')
# luettelon poiminta ja määrittäminen luettelo-objektille
num_list = suolakurkkua.kuormitus (suolakurkkua)
tulosta (num_list)
Tuotos
Esimerkki 2: Poista sanakirjan valinta
Marinoitu opiskelijan sanakirjaobjekti poistetaan ja määritetään uudelle sanakirjaobjektille.
# importing suolakurkku moduulituoda suolakurkkua
# dictPickle-tiedoston avaaminen lukutunnelmassa
suolakurkkua_in = auki ('dictPickle', 'rb')
# sanan poiminta ja määritys sanakirjaobjektille
std_dict = suolakurkkua.kuormitus (suolakurkkua)
tulosta (std_dict)
Tuotos
Esimerkki 3: Poista kaksoislähtö
Marinoitu kaksoiskohde poistetaan ja määritetään uudelle kaksoiskohteelle.
# importing suolakurkku moduulituoda suolakurkkua
# avaa tuplePickle-tiedosto lukemisessa
suolakurkkua_in = auki ('tuplePickle', 'rb')
# poistamalla kaksoiskappale ja määrittelemällä sanakirjaobjektiin
std_dict = suolakurkkua.kuormitus (suolakurkkua)
tulosta (std_dict)
Tuotos
Johtopäätös
Pickle on sisäänrakennettu Python-moduuli, jota käytetään sarja- ja deserialisointitoimintojen suorittamiseen. Serialisaatio ja deserialisaatio tunnetaan myös vastaavasti peittauksena ja peittaamattomana. Peittauksen avulla voimme tallentaa Python-objektin tavuvirran muodossa ja noutaa sen myöhemmin. Poimintaprosessi viittaa peitatun objektin muuntamiseen Python-objektiksi. Tässä artikkelissa selitetään peittaus- ja peittausprosessi esimerkkien avulla.