Python

Ako nakladať objekty v Pythone

Ako nakladať objekty v Pythone
Akékoľvek údaje je možné serializovať a deserializovať v Pythone pomocou JSON a modulu Pickle. Pred uložením akýchkoľvek údajov do súboru sú objekty Pythonu serializované pomocou modulu na nakladanie. Pomocou tohto modulu sú objekty Pythonu prevádzané do prúdov znakov. Keď chce užívateľ získať dáta súboru na použitie iného python skriptu, potom dáta súboru deserializuje pickle modulom. Vlastnosti modulu na nakladanie a ako je možné tento modul použiť v skripte python na serializáciu a deserializáciu, sú popísané v tomto tutoriále.

Vlastnosti nálevu:

dump () pre serializáciu:

Funkcia dump () sa používa na prevod údajov objektu na prúd znakov pred uložením do súboru. Táto funkcia môže mať tri argumenty. Prvé dva argumenty sú povinné a posledný argument je voliteľný. Prvý argument berie dátový objekt, ktorý je potrebné serializovať. Druhý argument berie objekt obsluhy súborov tohto súboru, kde budú uložené údaje uložené. Posledný argument má názov protokolu.

Syntax:

výpis (data_object, file_object, [protokol])

zaťaženie () pre deserializáciu:

Funkcia load () sa používa na prevod údajov toku znakov zo súboru na objekt Python. Táto funkcia obsahuje iba jeden argument a objekt obslužného programu súborov súboru prechádza ako hodnota argumentu, odkiaľ sa budú načítať údaje.

Syntax:

načítať (file_object)

Nakrájajte jednoduchý objekt na uloženie do súboru

Vytvorte súbor s názvom uhorka1.py s nasledujúcim skriptom python.  V nasledujúcom skripte je pomenovaný údajový objekt dataObject je deklarovaný na uloženie piatich názvov jazykov iteráciou cyklu for. Ďalej sa na priradenie obslužnej rutiny súboru pre vytvorenie binárneho súboru s názvom používa metóda open () jazykoch. výpis () funkcia sa tu používa na serializáciu údajov dataObject a uložte ho do jazykoch spis.  Ak bude serializácia vykonaná správne, vytlačí sa správa „Dáta sú serializované“.

# Importujte nálevový modul
dovoz nálevu
# Deklarujte objekt na ukladanie údajov
dataObject = []
# Opakujte cyklus for päťkrát a vezmite si názvy jazykov
pre n v rozsahu (5):
raw = input ('Zadajte názov jazyka:')
dataObject.pripojiť (surový)
# Otvorte súbor na zápis údajov
file_handler = open ('languages', 'wb')
# Vypíše údaje o objekte do súboru
nálev.výpis (dataObject, file_handler)
# zatvorte obslužný program súborov, aby sa uvoľnili zdroje
file_handler.Zavrieť()
# Tlačiť správu
tlač („Údaje sú serializované“)

Výkon:

Po spustení skriptu bude na vstup trvať päť názvov jazykov.

Zrušiť výber dát zo súboru

odobratie údajov je opakom moriacich údajov. Vytvorte súbor s názvom nálevu2.py s nasledujúcim skriptom python. Tu, otvorené() metóda sa používa na otvorenie binárneho súboru s názvom jazykoch, vytvorené v predchádzajúcom príklade. naložiť() Funkcia sa používa na odobratie dát zo súboru a ich uloženie do premennej dataObject. Ďalšie, pre slučka sa používa na iteráciu údajov z dataObject a tlačiť v termináli.

# Importujte nálevový modul
dovoz nálevu
# Otvorte obslužný program súboru na čítanie súboru, odkiaľ sa budú načítať údaje
file_handler = open ('languages', 'rb')
# Načítajte údaje zo súboru po deserializácii
dataObject = nálev.načítať (file_handler)
# Zatvorte obslužný program súborov
file_handler.Zavrieť()
# Tlačiť správu
tlač („Údaje po deserializácii“)
# Iteráciou slučky vytlačíte údaje po deserializácii
pre val v dataObject:
print ('Hodnota údajov:', val)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Vyberte objekt triedy do súboru

Ako je možné nakladať objekt triedy, je uvedený v nasledujúcom príklade. Vytvorte súbor s názvom uhorka3.py s nasledujúcim skriptom. Tu, Zamestnanec trieda je deklarovaná na priradenie troch dátových hodnôt zamestnanca. Ďalej pomenovaný objekt obsluhy súborov fileHandler je vytvorený na otvorenie súboru na zápis. Po inicializácii objektu triedy sa údaje serializujú pomocou výpis () funkciu a uloží sa do súboru s názvom údaje o zamestnancovi. Ak sa súbor vytvorí správne, potom sa zobrazí správa, „Údaje sú serializované“ bude tlačiť.

# Importovať nálevový modul
dovoz nálevu
# Deklarujte triedu zamestnancov, do ktorej sa má hodnota uložiť
zamestnanec triedy:
def __init __ (ja, meno, e-mail, príspevok):
ja.meno = meno
ja.email = email
ja.príspevok = príspevok
 
# Vytvorte objekt zamestnanca
empObject = Zamestnanec ('Farheen', '[e-mail chránený]', 'Manažér')
# Otvoriť súbor pre ukladanie dát
fileHandler = open ('employeeData', 'wb')
# Uložte údaje do súboru
nálev.výpis (empObject, fileHandler)
# Zatvorte súbor
fileHandler.Zavrieť()
# Tlačiť správu
tlač („Údaje sú serializované“)

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Zrušiť výber dát z objektu triedy

Trieda s potrebnými vlastnosťami a metódami bude vyžadovať deklaráciu pre načítanie údajov zo súboru do objektu triedy. Vytvorte súbor s názvom nálev4.py s nasledujúcim kódom. Zamestnanec je tu definovaná trieda na načítanie údajov. fileObject premenná slúži na otvorenie súboru, údaje o zamestnancovi na čítanie. Ďalšie, naložiť() funkcia slúži na uloženie údajov v objekte triedy po deserializácii. display () funkcia Zamestnanec triedy sa volá tlačiť údajové hodnoty objektu triedy.

# Importovať nálevový modul
dovoz nálevu
# Deklarujte triedu zamestnancov na čítanie a tlač údajov zo súboru
zamestnanec triedy:
def __init __ (ja, meno, e-mail, príspevok):
ja.meno = meno
ja.email = email
ja.príspevok = príspevok
zobrazenie def (samo):
print ('Informácie o zamestnancovi:')
print ('Name:', self.názov)
tlačiť ('Email:', samostatne.e-mail)
print ('Príspevok:', self.príspevok)
 
# Otvorte súbor na čítanie
fileObject = open ('employeeData', 'rb')
# Rozbaľte dáta
zamestnanec = nálev.načítať (fileObject)
# Zavrieť súbor
fileObject.Zavrieť()
# vytlačiť dátový rámec
zamestnanec.display ()

Výkon:

Po spustení skriptu sa zobrazí nasledujúci výstup.

Záver

Modul Pickle je užitočnou vlastnosťou pythonu na serializáciu a deserializáciu údajov. Po dokončení príkladov uvedených v tomto tutoriále bude prenos dát z jedného skriptu pythonu do druhého skriptu pythonu ľahší pre kohokoľvek.

Hry Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
Ako zachytiť a streamovať vašu hernú reláciu v systéme Linux
V minulosti sa hranie hier považovalo iba za hobby, ale časom došlo v hernom priemysle k obrovskému nárastu z hľadiska technológie i počtu hráčov. Her...
Hry Najlepšie hry na hranie s ručným sledovaním
Najlepšie hry na hranie s ručným sledovaním
Oculus Quest nedávno predstavil skvelú myšlienku ručného sledovania bez ovládačov. Vďaka stále sa zvyšujúcemu počtu hier a aktivít, ktoré vykonávajú p...
Hry Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Ako zobraziť prekrytie OSD v linuxových aplikáciách a hrách na celú obrazovku
Hranie hier na celú obrazovku alebo používanie aplikácií v režime rozptýlenia zadarmo na celú obrazovku vás môže odrezať od relevantných systémových i...