Python

Výukový program pre aplikáciu Python Pickle

Výukový program pre aplikáciu Python Pickle

Vývojári Pythonu chcú uložiť dátové objekty, ako sú zoznamy, slovníky, n-tice a triedy, do súboru. V tejto situácii prichádza na rad modul na nakladanie Python.

Pickle je vstavaný modul Pythonu, ktorý sa používa na serializáciu a deserializáciu štruktúry objektu Python. Serializácia je proces prevodu objektu Python na bajtový prúd (0 a 1). Je tiež známy ako morenie. Účelom procesu morenia je uložiť objekt Python na disk vo forme bajtového toku. Nakladaný objekt Pythonu je možné previesť späť na objekt Pythonu a tento proces je známy ako vyzdvihnutie alebo deserializácia.

Morenie Pythonu je užitočné, keď musíme uložiť stav objektu Pythonu a vykonať úlohu analýzy dát. Napríklad keď pracujeme s algoritmami hlbokého učenia a chceme ich použiť neskôr. V takomto prípade ho môžeme uložiť na disk pre neskoršie použitie. Morenie však nie je dobrá voľba, keď pracujeme s rôznymi programovacími jazykmi. Nakladaný objekt nie je možné vyzdvihnúť v žiadnom inom programovacom jazyku, pretože nemá podporu viacerých jazykov. Objekt, ktorý je nakladaný v Pythone, môže byť tiež vyzdvihnutý iba v Pythone. To isté platí pre rôzne verzie Pythonu; objekt, ktorý je nakladaný v konkrétnej verzii Pythonu, sa nemusí správne vyzdvihnúť v inej verzii. Aby sme mohli vykonať proces nakladania a odoberania, je potrebné najskôr importovať modul nakladania do nášho skriptu Python.

V tomto článku sa na príkladoch naučíme používať modul na nakladanie a nakladanie v jazyku Python.

Príklady morenia Pythonu

Pozrime sa na niekoľko príkladov na pochopenie procesu morenia Pythonu. Pred vykonaním operácie morenia musíme súbor otvoriť v režime zápisu. Súbor musí byť otvorený v binárnom režime, pretože nakladaný objekt je uložený v bajtovom streame. Dump () je funkcia modulu na nakladanie, ktorá sa používa na vytvorenie nálevu. Trvá to dva argumenty, t.j.e., objekt Python, ktorý sa má nakladať, a súbor, do ktorého sa nakladaný objekt uloží.

Príklad 1: Nakladanie zoznamu

V danom príklade sme vytvorili zoznam čísel a nakladali ho pomocou nálevu.funkcia dump ().

#importovanie modulu na nakladanie
dovoz nálevu
# deklarovanie číselného zoznamu
num_list = [1,2,3,4,5,6]
# vybratie zoznamu a uloženie do súboru
listfile = open ('listPickle', 'wb')
nálev.výpis (num_list, listfile)
zoznam súborov.Zavrieť()
print ("Uhorka zoznamu je úspešne vytvorená.„)

Výkon

Výstup ukazuje, že zoznam je úspešne nakladaný.

Príklad 2: Nakladajte slovník

Teraz urobme nápravu objektu slovníka Python. Študentský slovník sa vytvára a nakladá pomocou nálevu.funkcia dump ().

#importovanie modulu na nakladanie
dovoz nálevu
# deklarovanie študentského slovníka
std_dict = 'name': 'John', 'age': 22, 'class': 'BS'
# vyzdvihnutie slovníka a uloženie do súboru
dictfile = open ('dictPickle', 'wb')
nálev.výpis (std_dict, dictfile)
dictfile.Zavrieť()
print ("Slovník je úspešne nakladaný.„)

Výkon

Výstup ukazuje, že slovník je úspešne nakladaný.

Príklad 3: Nakladať n-ticu

Teraz urobme nápravu objektu n-tice Python. Objekt n-tice je vytvorený a nakladaný pomocou nálevu.funkcia dump ().

#importovanie modulu na nakladanie
dovoz nálevu
# deklarovanie n-tice
my_tuple = (((1,1), (2,2), (3,3), (4,4))
# vyzdvihnutie slovníka a uloženie do súboru
tuplefile = open ('tuplePickle', 'wb')
nálev.výpis (my_tuple, tuplefile)
tuplefile.Zavrieť()
print ("N-tica je úspešne nakladaná.„)

Výkon

Výstup ukazuje, že objekt n-tice je úspešne nakladaný.

Dobre! To bolo všetko o morení rôznych objektov Pythonu.

Príklady odtrhnutia Pythonu

Teraz si ukážeme niekoľko príkladov procesu odstraňovania obsahu z jazyka Python. Rozbalíme všetky objekty Pythonu, ktoré sme vybrali v predchádzajúcich príkladoch. V procese odstraňovania obsahu sa nakladaný súbor otvorí v režime čítania. Uhorka.Funkcia load () sa používa na odtrhnutie objektu Python. Objekt súboru sa odovzdá ako nálev do nálevu.funkcia load ().

Príklad 1: Zrušte výber zoznamu

Objekt nakladaného zoznamu nie je vybratý a je priradený k novému objektu zoznamu.

#importovanie modulu na nakladanie
dovoz nálevu
#otvorenie zoznamuPickle súbor pri čítaní nálady
pickle_in = open ('listPickle', 'rb')
#rozbalenie zoznamu a priradenie k objektu zoznamu
num_list = nálev.zaťaženie (pickle_in)
print (num_list)

Výkon

Príklad 2: Vyzdvihnutie slovníka

Objekt nakladaného študentského slovníka sa nevyberie a priradí sa k novému objektu slovníka.

#importovanie modulu na nakladanie
dovoz nálevu
#otvorenie súboru dictPickle pri čítaní nálady
pickle_in = open ('dictPickle', 'rb')
# Zrušenie výberu diktu a priradenie k objektu slovníka
std_dict = nálev.zaťaženie (pickle_in)
print (std_dict)

Výkon

Príklad 3: Vyzdvihnutie tupleOutput

Nakladaný objekt n-tice je nevyberaný a priradený k novému objektu n-tice.

#importovanie modulu na nakladanie
dovoz nálevu
#otvorenie súboru n-ticePickle pri čítaní nálady
pickle_in = open ('tuplePickle', 'rb')
# rozbalenie n-tice a priradenie k objektu slovníka
std_dict = nálev.zaťaženie (pickle_in)
print (std_dict)

Výkon

 Záver

Pickle je vstavaný modul Pythonu, ktorý sa používa na vykonávanie operácií serializácie a deserializácie. Serializácia a deserializácia sú tiež známe ako morenie a neresenie. Morením môžeme objekt Pythonu uložiť vo forme bajtového toku a neskôr ho načítať. Proces odbúravania sa týka konverzie nakladaného objektu na objekt Python. V tomto článku sú na príkladoch vysvetlené procesy nakladania a odstraňovania škvŕn.

Hry Ako inštalovať a hrať Doom na Linuxe
Ako inštalovať a hrať Doom na Linuxe
Úvod do Doom Séria Doom vznikla v 90. rokoch po vydaní pôvodného Doomu. Bol to okamžitý hit a od tej doby herná séria získala množstvo ocenení a origi...
Hry Vulkan pre používateľov systému Linux
Vulkan pre používateľov systému Linux
S každou novou generáciou grafických kariet vidíme, že vývojári hier posúvajú hranice grafickej vernosti a prichádzajú o krok bližšie k fotorealizmu. ...
Hry OpenTTD vs Simutrans
OpenTTD vs Simutrans
Vytvorenie vlastnej simulácie dopravy môže byť zábavné, relaxačné a mimoriadne lákavé. Preto sa musíte uistiť, že vyskúšate čo najviac hier, aby ste n...