Kako uporabiti Pickle za shranjevanje predmetov v Pythonu

click fraud protection

Pickle, ki je privzeto del knjižnice Python, je pomemben modul, kadar potrebujete vztrajanje med uporabniškimi sejami. Izbirnik kot modul poskrbi za shranjevanje Python predmetov med procesi.

Ali programirate za baze podatkov, igra, forum ali kakšna druga aplikacija, ki mora shraniti podatke med sejami, izbirnik je uporaben za shranjevanje identifikatorjev in nastavitev. Izbirni modul lahko shranjuje stvari, kot so tipi podatkov, kot so logični nizi, nizov in bajtov, seznami, slovarji, funkcije in še več.

Opomba: Koncept kisanja je znan tudi kot serializacija, zdrobitev in sploščenje. Vendar je poanta vedno enaka - predmet shraniti v datoteko za kasnejše iskanje. Nabiranje to doseže tako, da predmet zapiše kot en dolg tok bajtov.

Pickle Primer koda v Pythonu

Če želite predmet zapisati v datoteko, uporabite kodo v naslednji sintaksi:

uvoz kumaric 
objekt = Objekt ()
filehandler = odprto (ime datoteke, 'w')
pickle.dump (predmet, orodje za upravljanje datotek)

Takole je videti primer iz resničnega sveta:

instagram viewer
uvoz kumaric 
uvozi matematiko
object_pi = math.pi
file_pi = odprto ('ime datoteke_pi.obj', 'w')
pickle.dump (object_pi, file_pi)

Ta delček zapiše vsebino object_pi v datoteko upravljavec file_pi, ki je posledično vezan na datoteko filename_pi.obj v imeniku izvršbe.

Če želite obnoviti vrednost predmeta v pomnilniku, ga naložite iz datoteke. Če predpostavimo, da kumar še ni bil uvožen za uporabo, začnite z uvozom:

uvoz kumaric 
filehandler = open (ime datoteke, 'r')
object = pickle.load (datoteke za obdelavo datotek)

Naslednja koda povrne vrednost pi:

uvoz kumaric 
file_pi2 = odprt ('ime datoteke_pi.obj', 'r')
object_pi2 = pickle.load (datoteka_pi2)

Predmet je nato ponovno pripravljen za uporabo, tokrat kot object_pi2. Seveda lahko, če želite, ponovno uporabite originalna imena. Ta primer za jasnost uporablja različna imena.

Stvari, ki si jih morate zapomniti o Pickle

Upoštevajte te stvari, ko uporabljate modul za vložitev kumaric:

  • Protokol izbirnikov je specifičen za Python - ni zagotovljeno, da bo med jezikom združljiv. Najverjetneje ne morete prenesti informacij, da bi bile uporabne v Perl, PHP, Java ali drugih jezikih.
  • Prav tako ni zagotovila združljivosti med različnimi različicami Pythona. Nezdružljivost obstaja, ker ni mogoče, da se modul serializira vsaka podatkovna struktura Python-a.
  • Privzeto se uporablja zadnja različica protokola izbirnika. Tako ostane, razen če ga ročno spremenite.

Namig: Ugotovite tudi kako uporabiti polico za shranjevanje predmetov v Pythonu za drug način ohranjanja kontinuitete objekta.

instagram story viewer