Python

Kuidas Pythonis objekte marineerida

Kuidas Pythonis objekte marineerida
Kõiki andmeid saab Pythonis järjestada ja deserialiseerida, kasutades JSON ja Pickle moodulit. Enne mis tahes andmete salvestamist faili järjestatakse Pythoni objektid marineerimismooduli abil. Selle mooduli abil teisendatakse Pythoni objektid märgivoogudeks. Kui kasutaja soovib faili andmed hankida teise pythoni skripti kasutamiseks, deserialiseeritakse faili andmed marineerimise mooduliga. Selles õpetuses kirjeldatakse hapukurkmooduli funktsioone ja seda, kuidas seda moodulit saab Pythoni skriptis kasutada serialiseerimiseks ja deserialiseerimiseks.

Hapukurgi omadused:

dump () jadastamiseks:

funktsiooni dump () kasutatakse objekti andmete teisendamiseks märgivoogadeks enne faili salvestamist. Sellel funktsioonil võib olla kolm argumenti. Esimesed kaks argumenti on kohustuslikud ja viimane argument on valikuline. Esimene argument võtab andmeobjekti, mis peab järjestama. Teine argument võtab selle faili failikäitleja objekti, kuhu pckled andmed salvestatakse. Viimane argument võtab protokolli nime.

Süntaks:

dump (andmete_objekt, failiobjekt, [protokoll])

deserialiseerimise koormus ():

funktsiooni load () kasutatakse failist märgivoo andmete teisendamiseks Pythoni objektiks. See funktsioon sisaldab ainult ühte argumenti ja faili failikäitleja objekt läheb argumendi väärtusena, kust andmed hangitakse.

Süntaks:

laadige (failiobjekt)

Marineeri faili salvestamiseks lihtne objekt

Looge fail nimega hapukurk1.py järgmise pythoni skriptiga.  Järgmises skriptis andmeobjekt nimega dataObject on deklareeritud salvestama viis keelenime iteerides for loopi. Järgmisena kasutatakse meetodit open () binaarfaili loomiseks failihalduri määramiseks keeltes. prügila () funktsiooni kasutatakse siin dataObject ja hoidke seda keeltes faili.  Kui jadastamine toimub korralikult, siis prinditakse teade “Andmed on järjestatud”.

# Importige hapukurgimoodul
import hapukurk
# Kuulutage objekt andmete salvestamiseks
dataObject = []
# Kordage for loopi viis korda ja võtke keelenimed
n jaoks vahemikus (5):
raw = input ('Sisestage keele nimi:')
dataObject.lisa (toores)
# Avage fail andmete kirjutamiseks
file_handler = avatud ('keeled', 'wb')
# Dump objekti andmed faili
hapukurk.dump (dataObject, file_handler)
# ressursside vabastamiseks sulgege failihaldur
file_handler.Sulge()
# Sõnumi printimine
print ('Andmed on järjestatud')

Väljund:

Pärast skripti käivitamist kulub sisendiks viis keelenime.

Kustuta andmed failist

andmete valimine on vastupidine peitsimisandmetele. Looge fail nimega hapukurk2.py järgmise pythoni skriptiga. Siin, avatud () nimega binaarfaili avamiseks kasutatakse meetodit keeltes, loodud eelmises näites. koormus () Funktsiooni kasutatakse andmete failist eemaldamiseks ja muutujana salvestamiseks dataObject. Järgmine, eest tsüklit kasutatakse itereerima andmeid dataObject ja printige terminali.

# Importige hapukurgimoodul
import hapukurk
# Avage failihaldur faili lugemiseks, kust andmed laaditakse
file_handler = avatud ('keeled', 'rb')
# Laadige failist andmed pärast deserialiseerimist
dataObject = hapukurk.laadige (faili_haldur)
# Sulgege failihaldur
file_handler.Sulge()
# Sõnumi printimine
print ('Andmed pärast deserialiseerimist')
# Andmete printimiseks pärast deserialiseerimist korrake silmus
val väärtusele dataObject:
print ('Andme väärtus:', val)

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund.

Hapesta faili klassiobjekt

Kuidas klassi objekti saab marineerida, on näidatud järgmises näites. Looge fail nimega hapukurk3.py järgmise skriptiga. Siin, Töötaja klass on deklareeritud määrama töötajale kolm andmeväärtust. Järgmisena failikäitleja objekt nimega fileHandler on loodud faili kirjutamiseks avamiseks. Pärast klassiobjekti lähtestamist järjestatakse andmed järjestusega prügila () funktsioon ja salvestatakse nimega faili töötaja andmed. Kui fail luuakse korralikult, siis sõnum, „Andmed on järjestatud” prindib.

# Impordi hapukurkmoodul
import hapukurk
# Deklareerige töötaja klass väärtuse salvestamiseks
klassi töötaja:
def __init __ (ise, nimi, e-post, postitus):
ise.nimi = nimi
ise.email = email
ise.post = postitus
 
# Loo töötaja objekt
empObject = Töötaja ('Farheen', '[meiliga kaitstud]', 'Haldur')
# Ava fail poe andmete jaoks
fileHandler = avatud ('töötajaData', 'wb')
# Salvestage andmed faili
hapukurk.dump (empObject, fileHandler)
# Sulgege fail
fileHandler.Sulge()
# Sõnumi printimine
print ('Andmed on järjestatud')

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund.

Kustuta andmed klassi objektile

Vajalike omaduste ja meetoditega klass peab deklareerima andmete otsimiseks failist faili klassi objektiks. Looge fail nimega hapukurk4.py järgmise koodiga. Töötaja klass on siin andmete hankimiseks määratletud. fileObject muutujat kasutatakse faili avamiseks, töötaja andmed lugemiseks. Järgmine, koormus () Funktsiooni kasutatakse andmete deserialiseerimiseks klassiobjektide salvestamiseks. kuva () funktsioon Töötaja klassi kutsutakse klassi objekti andmeväärtuste printimiseks.

# Impordi hapukurkmoodul
import hapukurk
# Deklareerige töötajate klass failist andmete lugemiseks ja printimiseks
klassi töötaja:
def __init __ (ise, nimi, e-post, postitus):
ise.nimi = nimi
ise.email = email
ise.post = postitus
def kuva (ise):
print ('Töötaja teave:')
print ('Nimi:', ise.nimi)
print ('Email:', ise.e-post)
print ('Post:', ise.postitus)
 
# Avage fail lugemiseks
fileObject = avatud ('töötajaData', 'rb')
# Eemaldage andmed
töötaja = hapukurk.laadige (fileObject)
# Sule fail
fileObject.Sulge()
#prindi andmekaader
töötaja.kuva ()

Väljund:

Pärast skripti käivitamist ilmub järgmine väljund.

Järeldus

Pickle moodul on pythoni kasulik funktsioon andmete järjestamiseks ja deserialiseerimiseks. Pärast selles õpetuses toodud näidete täitmist on andmete edastamine ühest pythoni skriptist teise pythoni skripti kõigile hõlpsam.

Microsoft Sculpt Touch juhtmeta hiirte ülevaade
Lugesin hiljuti Microsoft Sculpt Touch juhtmevaba hiir ja otsustas selle osta. Pärast mõnda aega kasutamist otsustasin jagada sellega oma kogemusi. Se...
Rakenduse AppyMouse ekraanipaneel ja hiirekursor Windowsi tahvelarvutitele
Tahvelarvutite kasutajad tunnevad hiirekursorit sageli puudust, eriti kui neil on kombeks sülearvuteid kasutada. Puutetundliku ekraaniga nutitelefonid...
Hiire keskmine nupp ei tööta Windows 10-s
The hiire keskmine nupp aitab teil sirvida pikki rohke andmega veebisaite ja ekraane. Kui see peatub, siis lõpuks kasutate kerimiseks klaviatuuri, mis...