Hapukurgi omadused:
- See on mõeldud peamiselt Pythoni skripti kasutamiseks.
- Seda kasutatakse Pythoni objektide salvestamiseks protsesside vahel.
- See jälgib kõiki jadastatud objekte ja objekt, mis on varem serialiseeritud, ei sari uuesti.
- See suudab klassieksemplari läbipaistvalt salvestada ja taastada.
- Selle kasutamine pole turvaline. Seega pole parem tundmatust allikast andmeid korjata.
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 hapukurgimoodulimport 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 hapukurgimoodulimport 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 hapukurkmoodulimport 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 hapukurkmoodulimport 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.