Python

Python marinādes apmācība

Python marinādes apmācība

Python izstrādātāji vēlas saglabāt failā tādus datu objektus kā saraksti, vārdnīcas, kopas un klases. Šajā situācijā spēlē Python marinādes modulis.

Pickle ir iebūvēts Python modulis, ko izmanto Python objekta struktūras serializēšanai un deserializēšanai. Serializācija ir Python objekta pārveidošana par baitu straumi (0 un 1). To sauc arī par kodināšanu. Marinēšanas procesa mērķis ir saglabāt Python objektu diskā baitu straumes veidā. Marinēto Python objektu var pārveidot atpakaļ par Python objektu, un šis process ir pazīstams kā noņemšana vai deserializācija.

Python kodināšana ir noderīga, ja mums ir jāsaglabā Python objekta stāvoklis un jāveic datu analīzes uzdevums. Piemēram, kad mēs strādājam ar dziļu mācību algoritmiem un vēlamies to izmantot vēlāk. Šajā stāvoklī mēs to varam uzglabāt diskā vēlākai lietošanai. Tomēr kodināšana nav laba iespēja, kad strādājam ar dažādām programmēšanas valodām. Marinēto objektu nevar noņemt nevienā citā programmēšanas valodā, jo tam nav starpvalodu atbalsta. Objektu, kas ir marinēts Python, drīkst noņemt tikai arī Python. Tas pats attiecas uz dažādām Python versijām; objekts, kas ir marinēts noteiktā Python versijā, citā versijā var netikt pareizi noņemts. Lai veiktu kodināšanas un kodināšanas procesu, vispirms mums jāimportē marinēšanas modulis mūsu Python skriptā.

Šajā rakstā mēs iemācīsimies izmantot modeli Python, lai veiktu marinēšanu un kodināšanu ar piemēriem.

Python kodināšanas piemēri

Apskatīsim dažus piemērus, lai saprastu Python kodināšanas procesu. Pirms kodināšanas darbības veikšanas mums jāatver fails rakstīšanas režīmā. Fails jāatver binārā režīmā, jo marinētais objekts tiek saglabāts baitu straumē. Izgāšana () ir marinādes moduļa funkcija, ko izmanto, lai izveidotu marinētu gurķi. Tam nepieciešami divi argumenti, t.e., marinējamais Python objekts un fails, kurā tiks saglabāts marinētais objekts.

1. piemērs: Marinējiet sarakstu

Dotajā piemērā mēs esam izveidojuši numuru sarakstu un marinējuši to, izmantojot marinētu gurķi.funkcija dump ().

#importē marinētu gurķu moduli
importēt marinētu gurķi
# skaitļu saraksta deklarēšana
num_list = [1,2,3,4,5,6]
# saraksta kodināšana un saglabāšana failā
listfile = open ('listPickle', 'wb')
marinēti gurķi.dump (num_list, listfile)
listfile.aizvērt ()
drukāt ("Saraksta marināde ir veiksmīgi izveidota.")

Rezultāts

Rezultāts parāda, ka saraksts ir veiksmīgi marinēts.

2. piemērs: marinējiet vārdnīcu

Tagad sālīsim Python vārdnīcas objektu. Izmantojot marinētu gurķi, tiek izveidota un marinēta studentu vārdnīca.funkcija dump ().

#importē marinētu gurķu moduli
importēt marinētu gurķi
#deklarēt studentu vārdnīcu
std_dict = 'vārds': 'Jānis', 'vecums': 22, 'klase': 'BS'
# vārdnīcas marinēšana un saglabāšana failā
dictfile = atvērts ('dictPickle', 'wb')
marinēti gurķi.dump (std_dict, dictfile)
dictfile.aizvērt ()
drukāt ("Vārdnīca ir veiksmīgi marinēta.")

Rezultāts

Rezultāts parāda, ka vārdnīca ir veiksmīgi marinēta.

3. piemērs: marinējiet dubultu

Tagad sālīsim Python dubulto objektu. Izmantojot marinētu gurķi, tiek izveidots un marinēts dubultā objekts.funkcija dump ().

#importē marinētu gurķu moduli
importēt marinētu gurķi
#duples deklarēšana
my_tuple = ((1,1), (2,2), (3,3), (4,4))
# vārdnīcas marinēšana un saglabāšana failā
tuplefile = open ('tuplePickle', 'wb')
marinēti gurķi.dump (my_tuple, tuplefile)
tuplefile.aizvērt ()
drukāt ("Duplu veiksmīgi marinē.")

Rezultāts

Izeja parāda, ka dubultā objekts ir veiksmīgi marinēts.

Labi! Tas viss bija par dažādu Python objektu marinēšanu.

Python noņemšanas piemēri

Tagad aplūkosim dažus Python noņemšanas procesa piemērus. Mēs noņemsim visus Python objektus, kurus esam marinējuši iepriekšējos piemēros. Noņemšanas procesā marinētais fails tiek atvērts lasīšanas režīmā. Marinēti gurķi.funkcija load () tiek izmantota, lai atlasītu objektu Python. Faila objekts tiek pārsūtīts kā arguments marinēšanai.slodzes () funkcija.

1. piemērs: Noņemiet sarakstu

Marinētā saraksta objekts netiek marinēts un piešķirts jaunam saraksta objektam.

#importē marinētu gurķu moduli
importēt marinētu gurķi
#opening the listPickle fails lasīšanas noskaņojumā
pickle_in = open ('listPickle', 'rb')
# saraksta noņemšana un piešķiršana saraksta objektam
num_list = marinēti gurķi.ielādēt (marinādē)
drukāt (num_list)

Rezultāts

2. piemērs: atlasiet vārdnīcu

Marinētā studenta vārdnīcas objekts tiek nemirkulēts un piešķirts jaunam vārdnīcas objektam.

#importē marinētu gurķu moduli
importēt marinētu gurķi
# faila dictPickle atvēršana lasīšanas noskaņojumā
pickle_in = open ('dictPickle', 'rb')
# atvienot dikti un piešķirt vārdnīcas objektam
std_dict = marinēti gurķi.ielādēt (marinādē)
drukāt (std_dict)

Rezultāts

3. piemērs: noņemiet tupleOutput

Marinētā dubultā objekts netiek marinēts un piešķirts jaunam objektam.

#importē marinētu gurķu moduli
importēt marinētu gurķi
#oping tuplePickle failu lasīšanas noskaņojumā
pickle_in = open ('tuplePickle', 'rb')
# unpickling dupleksu un piešķiršana vārdnīcas objektam
std_dict = marinēti gurķi.ielādēt (marinādē)
drukāt (std_dict)

Rezultāts

 Secinājums

Pickle ir iebūvēts Python modulis, ko izmanto, lai veiktu sērijas un deserializācijas darbības. Serializāciju un deserializāciju attiecīgi sauc arī par kodināšanu un kodināšanu. Izmantojot kodināšanu, mēs varam Python objektu saglabāt baitu straumes formā un vēlāk to izgūt. Noņemšanas process attiecas uz marinētā objekta pārveidošanu par Python objektu. Šajā rakstā ar piemēriem izskaidrots kodināšanas un kodināšanas process.

Cīņa par Vesnotu 1.13.6 Izlaista attīstība
Cīņa par Vesnotu 1.13.6 izlaists pagājušajā mēnesī, ir sestais izstrādes izlaidums 1.13.x sērija un tā nodrošina vairākus uzlabojumus, īpaši lietotāja...
Kā instalēt League of Legends operētājsistēmā Ubuntu 14.04
Ja jūs esat League of Legends fans, tad šī ir iespēja jums izmēģināt League of Legends. Ņemiet vērā, ka LOL tiek atbalstīts PlayOnLinux, ja esat Linux...
Instalējiet jaunāko OpenRA stratēģijas spēli Ubuntu Linux
OpenRA ir bezmaksas / bezmaksas reāllaika stratēģijas spēļu dzinējs, kas atjauno agrīnās Vestvudas spēles, piemēram, klasisko Command & Conquer: Red A...