Kuidas kasutada hapukurki pütoni objektide salvestamiseks

click fraud protection

Pickle, mis vaikimisi kuulub Pythoni teeki, on oluline moodul alati, kui vajate püsivust kasutajaseansside vahel. Moodulina pakub hapukurk Pythoni objektide salvestamist protsesside vahel.

Ükskõik, kas programmeerite a andmebaas, mäng, foorum või mõni muu rakendus, mis peab seansside vahel teavet salvestama, on hapukurk kasulik identifikaatorite ja sätete salvestamiseks. Pikamoodul võib salvestada selliseid andmeid nagu andmetüübid, näiteks tõeväärtused, stringid ja baitimassiivid, loendid, sõnastikud, funktsioonid ja palju muud.

Märge: Marineerimise kontseptsiooni tuntakse ka kui sarivõtmine, mardistamine ja lamestamine. Kuid punkt on alati sama - objekti salvestamine faili hilisemaks allalaadimiseks. Peitsimine saavutab selle, kirjutades objekti ühe pika baitivooluna.

Marineeritud näidiskood Pythonis

Objekti faili kirjutamiseks kasutate koodi järgmises süntaksis:

import hapukurk 
objekt = objekt ()
failihaldur = avatud (failinimi, 'w')
pickle.dump (objekt, failihaldur)

Nii näeb välja reaalse maailma näide:

instagram viewer
import hapukurk 
impordi matemaatika
objekt_pi = matemaatika.pi
fail_pi = avatud ('failinimi_pi.obj', 'w')
pickle.dump (objekti_pi, faili_pi)

See katkend kirjutab saidi sisu objekt_pi faili juurde käitleja fail_pi, mis on omakorda seotud failiga failinimi_pi.obj täitmise kataloogis.

Objekti väärtuse mällu taastamiseks laadige objekt failist. Eeldades, et hapukurki pole veel kasutamiseks imporditud, alustage selle importimisega:

import hapukurk 
failihaldur = avatud (failinimi, 'r')
objekt = hapukurk.laadimine (failihaldur)

Järgmine kood taastab pi väärtuse:

import hapukurk 
file_pi2 = avatud ('failinimi_pi.obj', 'r')
objekt_pi2 = hapukurg.laadimine (fail_pi2)

Seejärel on objekt taas kasutamiseks valmis, seekord kui objekt_pi2. Kui soovite, võite algsed nimed muidugi ka uuesti kasutada. Selles näites kasutatakse selguse huvides selgeid nimesid.

Pickle'ist meelde tuletavad asjad

Marineeritud mooduli kasutamisel pidage neid asju meeles:

  • Marineerimisprotokoll on konkreetne Pythoni jaoks - see ei ole garanteeritud, et see ühildub keeltega. Tõenäoliselt ei saa te teavet üle kanda, et see oleks kasulik Perli, PHP, Java või muus keeles.
  • Samuti pole garantii Pythoni erinevate versioonide ühilduvuse kohta. See ühildumatus on olemas, kuna moodul ei saa kõiki Pythoni andmestruktuure serialiseerida.
  • Vaikimisi kasutatakse marineerimisprotokolli uusimat versiooni. See jääb nii, kui te seda käsitsi ei muuda.

Näpunäide: Uurige ka kuidas kasutada Pythoni objektide salvestamiseks riiulit objekti järjepidevuse säilitamise teise meetodi jaoks.

instagram story viewer