Vlastnosti nálevu:
- Je určen hlavně pro použití pro skript v Pythonu.
- Používá se k ukládání objektů pythonu mezi procesy.
- Sleduje všechny serializované objekty a objekt, který je serializován dříve, nebude znovu serializovat.
- Může transparentně uložit a obnovit instanci třídy.
- Používání není bezpečné. Není tedy lepší zrušit vyzvednutí dat z neznámého zdroje.
dump () pro serializaci:
Funkce dump () se používá k převodu dat objektu na proud znaků před uložením do souboru. Tato funkce může trvat tři argumenty. První dva argumenty jsou povinné a poslední argument je volitelný. První argument přebírá datový objekt, který je třeba serializovat. Druhý argument převezme objekt obsluhy souboru tohoto souboru, kde budou uložená data uložena. Poslední argument přebírá název protokolu.
Syntax:
výpis (data_object, file_object, [protokol])load () pro deserializaci:
Funkce load () se používá k převodu datového proudu znaků ze souboru na objekt Pythonu. Tato funkce obsahuje pouze jeden argument a objekt obslužné rutiny souboru souboru se předává jako hodnota argumentu, odkud budou data načtena.
Syntax:
načíst (file_object)Nakládejte jednoduchý objekt, který chcete uložit do souboru
Vytvořte soubor s názvem okurka1.py s následujícím skriptem pythonu. V následujícím skriptu datový objekt s názvem dataObject je deklarováno k uložení pěti jazykových jmen iterací smyčky for. Dále se k přiřazení obslužné rutiny souboru pro vytvoření binárního souboru s názvem používá metoda open () jazyky. výpis () funkce se zde používá k serializaci dat dataObject a uložte jej do jazyky soubor. Pokud bude serializace provedena správně, vytiskne se zpráva „Data jsou serializována“.
# Importujte nakládací modulimportovat nálev
# Deklarujte objekt k ukládání dat
dataObject = []
# Opakujte smyčku for pětkrát a vezměte názvy jazyků
pro n v rozsahu (5):
raw = input ('Zadejte název jazyka:')
dataObject.připojit (raw)
# Otevřete soubor pro zápis dat
file_handler = open ('languages', 'wb')
# Vypíše data objektu do souboru
lák.výpis (dataObject, file_handler)
# zavřete obslužnou rutinu souboru a uvolněte prostředky
file_handler.zavřít()
# Tisknout zprávu
tisk („Data jsou serializována“)
Výstup:
Po spuštění skriptu bude jako vstup použito pět jazykových jmen.
Zrušit výběr dat ze souboru
odtržení dat je opakem moření dat. Vytvořte soubor s názvem okurka2.py s následujícím skriptem pythonu. Tady, otevřeno() metoda se používá k otevření binárního souboru s názvem jazyky, vytvořené v předchozím příkladu. zatížení() funkce slouží k odtržení dat ze souboru a jejich uložení do proměnné dataObject. další, pro smyčka se používá k iteraci dat z dataObject a vytiskněte v terminálu.
# Importujte nakládací modulimportovat nálev
# Otevřete obslužný program pro čtení souboru, ze kterého se budou načítat data
file_handler = open ('languages', 'rb')
# Načtěte data ze souboru po deserializaci
dataObject = lák.načíst (file_handler)
# Zavřete obslužný program souborů
file_handler.zavřít()
# Tisknout zprávu
tisk („Data po deserializaci“)
# Iterací smyčky vytisknete data po deserializaci
pro val v dataObject:
print ('Hodnota dat:', val)
Výstup:
Po spuštění skriptu se zobrazí následující výstup.
Nakládejte objekt třídy do souboru
Jak lze objekt třídy nakládat, je uveden v následujícím příkladu. Vytvořte soubor s názvem okurka3.py s následujícím skriptem. Tady, Zaměstnanec třída je deklarována pro přiřazení tří datových hodnot zaměstnance. Dále objekt obslužné rutiny souborů s názvem fileHandler je vytvořen k otevření souboru pro zápis. Po inicializaci objektu třídy jsou data serializována pomocí výpis () funkce a uloženy v souboru s názvem údaje o zaměstnanci. Pokud se soubor vytvoří správně, zobrazí se zpráva, "Data jsou serializována" vytiskne.
# Importovat nakládací modulimportovat nálev
# Deklarujte třídu zaměstnanců pro uložení hodnoty
zaměstnanec třídy:
def __init __ (já, jméno, e-mail, příspěvek):
já.jméno = jméno
já.email = email
já.příspěvek = příspěvek
# Vytvořte objekt zaměstnance
empObject = Zaměstnanec ('Farheen', '[email protected]', 'Manažer')
# Otevřít soubor pro uložení dat
fileHandler = open ('employeeData', 'wb')
# Uložte data do souboru
lák.výpis (empObject, fileHandler)
# Zavřete soubor
fileHandler.zavřít()
# Tisknout zprávu
tisk („Data jsou serializována“)
Výstup:
Po spuštění skriptu se zobrazí následující výstup.
Zrušte výběr dat do objektu třídy
Třída s nezbytnými vlastnostmi a metodami bude vyžadovat deklaraci pro načtení dat ze souboru do objektu třídy. Vytvořte soubor s názvem okurka4.py s následujícím kódem. Zaměstnanec je zde definována třída pro načtení dat. fileObject proměnná se používá k otevření souboru, údaje o zaměstnanci pro čtení. další, zatížení() funkce slouží k uložení dat v objektu třídy po deserializaci. Zobrazit() funkce Zaměstnanec třída je volána k tisku datových hodnot objektu třídy.
# Importovat nakládací modulimportovat nálev
# Deklarujte třídu zaměstnanců ke čtení a tisku dat ze souboru
zaměstnanec třídy:
def __init __ (já, jméno, e-mail, příspěvek):
já.jméno = jméno
já.email = email
já.příspěvek = příspěvek
zobrazení def (vlastní):
print ('Informace o zaměstnanci:')
print ('Name:', self.název)
print ('Email:', self.e-mailem)
print ('Post:', self.pošta)
# Otevřete soubor ke čtení
fileObject = open ('employeeData', 'rb')
# Vyzvedněte data
zaměstnanec = lák.načíst (fileObject)
# Zavřít soubor
fileObject.zavřít()
# vytiskněte datový rámec
zaměstnanec.Zobrazit()
Výstup:
Po spuštění skriptu se zobrazí následující výstup.
Závěr
Pickle modul je užitečná vlastnost pythonu pro serializaci a deserializaci dat. Po dokončení příkladů uvedených v tomto kurzu bude přenos dat z jednoho skriptu pythonu do jiného skriptu pythonu snadnější pro kohokoli.