Python

Python Pickle -opetusohjelma

Python Pickle -opetusohjelma

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 moduuli
tuoda 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 moduuli
tuoda 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 moduuli
tuoda 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 moduuli
tuoda 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 moduuli
tuoda 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 moduuli
tuoda 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.

Kuinka näyttää FPS-laskuri Linux-peleissä
Linux-pelaaminen sai suuren työn, kun Valve ilmoitti Linux-tuesta Steam-asiakkaalle ja heidän peleilleen vuonna 2012. Siitä lähtien monet AAA- ja indi...
How to download and Play Sid Meier's Civilization VI on Linux
Introduction to the game Civilization 6 is a modern take on the classic concept introduced in the series of the Age of Empires games. The idea was fai...
How to Install and Play Doom on Linux
Introduction to Doom The Doom Series originated in the 90s after the release of the original Doom. It was an instant hit and from that time onwards th...