Lekce 8 - Binární soubory a serializace v Pythonu
V minulé lekci, Zápis a čtení XML souborů v Pythonu, jsme se věnovali práci s XML soubory.
V tomto kurzu jsme si již uvedli několik možností, jak uložit data (případně rovnou instance) do souborů. Ať už se jednalo o formát CSV nebo XML, vždy jsme ve finále pracovali s textovými soubory. Dnes si v tutoriálu ukážeme alternativní způsob uložení dat a pobavíme se o jeho výhodách a nevýhodách.
Binární soubory
Doposud jsme tedy vždy datové typy převedli na textový řetězec a ten uložili do textového souboru. Při opětovném čtení dat jsme je museli ze stringu poté naparsovat zpět na původní datový typ. Do souboru lze ale ukládat data i v jiné, než textové podobě. Hovoříme o tzv. binárních souborech.
Jak víme, proměnné jsou uložené v operační paměti počítače. Fyzicky si paměť můžeme představit jako opravdu dlouhou řadu "přihrádek", kde v každé přihrádce může být nula nebo jednička. Jednotlivé prvky v přihrádkách jsou tedy bity. S těmi se většinou nepracuje jednotlivě, ale rovnou po osmicích, tzv. bajtech (1 bajt = 8 bitů). Každý objekt z Pythonu zabírá v paměti určitý počet bajtů. Je jedno, zda je v čísle uložená hodnota 0 nebo 1.000.000, stále má v paměti vyhrazeny ty stejné bajty. Pokud budeme chtít proměnnou typu int uložit do souboru, nabízí se
...konec náhledu článku...
Pokračuj dál
Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.
Koupit tento kurz
Obsah článku spadá pod licenci Premium, koupí článku souhlasíš se smluvními podmínkami.
- Neomezený a trvalý přístup k jednotlivým lekcím.
- Kvalitní znalosti v oblasti IT.
- Dovednosti, které ti pomohou získat vysněnou a dobře placenou práci.
Popis článku
Požadovaný článek má následující obsah:
V tutoriálu si představíme binární soubory a knihovnu/modul pickle. Naučíme se serializovat a deserializovat objekty binárně v Pythonu.
Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.