Python

Kuinka suolata esineitä Pythonissa

Kuinka suolata esineitä Pythonissa
Kaikki tiedot voidaan sarjata ja deserialisoida Pythonissa JSON- ja Pickle-moduulien avulla. Ennen kuin tallennat tietoja tiedostoon, Python-objektit sarjoitetaan suolakurkkumoduulilla. Python-objektit muunnetaan merkkivirtoiksi tämän moduulin avulla. Kun käyttäjä haluaa hakea tiedoston tiedot toista python-komentosarjaa käytettäessä, tiedoston tiedot poistetaan käytöstä suolakurkkumoduulilla. Pickle-moduulin ominaisuudet ja kuinka tätä moduulia voidaan käyttää python-komentosarjassa sarjoitukseen ja deserialisaatioon, on kuvattu tässä opetusohjelmassa.

Pickle ominaisuudet:

dump () sarjoitusta varten:

dump () -funktiota käytetään objektidatan muuntamiseen merkkivirraksi ennen tiedostoon tallentamista. Tämä toiminto voi sisältää kolme argumenttia. Kaksi ensimmäistä argumenttia ovat pakollisia ja viimeinen argumentti on valinnainen. Ensimmäinen argumentti vie tieto-objektin, joka on sarjoitettava. Toinen argumentti vie tiedoston käsittelijäobjektin, johon pckled-tiedot tallennetaan. Viimeinen argumentti ottaa protokollan nimen.

Syntaksi:

dump (data_objekti, tiedosto_objekti, [protokolla])

kuormitus () deserialisaatioon:

load () -funktiota käytetään tiedostomuodon muuntamiseen tiedostosta Python-objektiksi. Tämä toiminto sisältää vain yhden argumentin ja tiedoston tiedostokäsittelyobjekti kulkee argumenttiarvona, josta tiedot haetaan.

Syntaksi:

lataa (tiedosto_objekti)

Pickle yksinkertainen objekti tallentaa tiedostoon

Luo tiedosto nimeltä suolakurkku 1.py seuraavalla python-komentosarjalla.  Seuraavassa komentosarjassa dataobjekti nimeltä dataObject ilmoitetaan tallentavan viisi kielenimeä iteroimalla for -silmukka. Seuraavaksi open () -menetelmää käytetään tiedostokäsittelijän luomiseen binaaritiedostolle nimeltä Kieli (kielet. kaataa () funktiota käytetään tässä sarjaliitäntään dataObject ja säilytä se Kieli (kielet tiedosto.  Jos sarjallisuus tehdään oikein, viesti "Data on sarjoitettu" tulostetaan.

# Tuo suolakurkkumoduuli
tuoda suolakurkkua
# Ilmoita objekti tietojen tallentamiseksi
dataObject = []
# Toista for -silmukka viisi kertaa ja ota kielenimet
n: lle alueella (5):
raw = input ('Anna kielen nimi:')
dataObject.liitä (raaka)
# Avaa tiedosto tietojen kirjoittamista varten
file_handler = avoin ('kielet', 'wb')
# Tyhjennä objektin tiedot tiedostoon
suolakurkku.dump (dataObject, file_handler)
# sulje tiedostokäsittelijä vapauttaaksesi resurssit
file_handler.kiinni()
# Tulosta viesti
tulosta ('Data on sarjoitettu')

Tuotos:

Komentosarjan suorittamisen jälkeen se käyttää viittä kielenimeä syötteenä.

Poista tietojen poisto tiedostosta

tietojen poiminta on päinvastoin kuin peittaustiedot. Luo tiedosto nimeltä suolakurkku2.py seuraavalla python-komentosarjalla. Tässä, avata() menetelmää käytetään avaamaan nimetty binääritiedosto Kieli (kielet, luotu edellisessä esimerkissä. ladata() funktiota käytetään tietojen poimimiseen tiedostosta ja niiden tallentamiseen muuttujaan dataObject. Seuraava, varten silmukkaa käytetään iteroimaan tiedot dataObject ja tulosta päätelaitteeseen.

# Tuo suolakurkkumoduuli
tuoda suolakurkkua
# Avaa tiedostojen käsittelijä, jos haluat lukea tiedostoa, josta tiedot ladataan
file_handler = avoin ('kielet', 'rb')
# Lataa tiedot tiedostosta deserialisoinnin jälkeen
dataObject = suolakurkkua.lataa (file_handler)
# Sulje tiedostojen käsittelijä
file_handler.kiinni()
# Tulosta viesti
tulosta ('Data deserialisoinnin jälkeen' ')
# Toista silmukka tulostamaan tiedot deserialisoinnin jälkeen
for val in dataObject:
tulosta ('Data-arvo:', val)

Tuotos:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Pickle luokan objekti tiedostoon

Seuraavassa esimerkissä näytetään, kuinka luokan objekti voidaan peitata. Luo tiedosto nimeltä suolakurkkua 3.py seuraavalla komentosarjalla. Tässä, Työntekijä luokan ilmoitetaan määrittävän kolme työntekijän data-arvoa. Seuraavaksi tiedostokäsittelyobjekti nimeltä fileHandler luodaan avaamaan tiedosto kirjoitettavaksi. Kun luokkaobjekti on alustettu, tiedot sarjoitetaan käyttämällä kaataa () ja tallennettu nimettyyn tiedostoon työntekijän tiedot. Jos tiedosto luodaan oikein, viesti, "Tiedot on sarjoitettu" tulostaa.

# Tuo suolakurkkumoduuli
tuoda suolakurkkua
# Ilmoita työntekijäluokka tallentamaan arvo
luokan työntekijä:
def __init __ (itse, nimi, sähköposti, viesti):
itse.nimi = nimi
itse.sähköposti = sähköposti
itse.post = viesti
 
#Luo työntekijäobjekti
empObject = Työntekijä ('Farheen', '[sähköposti suojattu]', 'Johtaja')
# Avaa tiedosto tallentaa tietoja
fileHandler = avoin ('työntekijän tiedot', 'wb')
# Tallenna tiedot tiedostoon
suolakurkku.dump (empObject, fileHandler)
# Sulje tiedosto
fileHandler.kiinni()
# Tulosta viesti
tulosta ('Data on sarjoitettu')

Tuotos:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Poista tietojen valinta luokan objektille

Luokka, jolla on tarvittavat ominaisuudet ja menetelmät, edellyttää ilmoitusta tietojen noutamiseksi tiedostosta luokan objektiin. Luo tiedosto nimeltä suolakurkku 4.py seuraavalla koodilla. Työntekijä luokka määritetään tässä tietojen noutamiseksi. fileObject muuttujaa käytetään tiedoston avaamiseen, työntekijän tiedot lukemista varten. Seuraava, ladata() funktiota käytetään tietojen tallentamiseen luokkaobjektiin deserialisoinnin jälkeen. näyttö() toiminto Työntekijä class kutsutaan tulostamaan luokkaobjektin data-arvot.

# Tuo suolakurkkumoduuli
tuoda suolakurkkua
# Ilmoita työntekijäluokka lukemaan ja tulostamaan tietoja tiedostosta
luokan työntekijä:
def __init __ (itse, nimi, sähköposti, viesti):
itse.nimi = nimi
itse.sähköposti = sähköposti
itse.post = viesti
def-näyttö (itse):
tulosta ('Työntekijän tiedot:')
tulosta ('Nimi:', itse.nimi)
tulosta ('Sähköposti:', itse.sähköposti)
tulosta ('Post:', itse.lähettää)
 
# Avaa tiedosto lukemista varten
fileObject = avoin ('työntekijän tiedot', 'rb')
# Poista tiedot
työntekijä = suolakurkkua.lataa (fileObject)
# Sulje tiedosto
fileObject.kiinni()
# tulosta datakehys
työntekijä.näyttö()

Tuotos:

Seuraava tulos tulee näkyviin komentosarjan suorittamisen jälkeen.

Johtopäätös

Pickle-moduuli on hyödyllinen python-ominaisuus tietojen sarjaan ja deserialisaatioon. Kun olet suorittanut tässä opetusohjelmassa esitetyt esimerkit, tietojen siirtäminen yhdestä python-komentosarjasta toiseen python-komentosarjaan on helpompaa kenellekään.

Battle For Wesnoth 1.13.6 Development Released
Battle For Wesnoth 1.13.6 released last month, is the sixth development release in the 1.13.x series and it delivers a number of improvements, most no...
League of Legendsin asentaminen Ubuntu 14 een.04
Jos olet League of Legendsin fani, tämä on sinulle mahdollisuus testata League of Legendsia. Huomaa, että PlayOnLinux tukee LOLia, jos olet linux-käyt...
Asenna uusin OpenRA-strategiapeli Ubuntu Linuxiin
OpenRA on ilmainen / ilmainen reaaliaikainen strategiapelimoottori, joka luo uudet Westwood-pelit, kuten klassinen Command & Conquer: Red Alert. Hajau...