Krajta

Použití Pythonu k zipování souborů

Použití Pythonu k zipování souborů
Vzhledem k tomu, že se data každý den exponenciálně zvětšují, je vaše obava o to, jak zachovat uvedená data bez přetékání vašich úložných zařízení, platná. Komprese souborů poskytuje výnosy v mnohem menších souborech známých jako archivy. Tyto archivy obsahují všechna vaše data v původní podobě, ale s dramaticky zmenšenou velikostí. Tento proces lze provést jednoduše kliknutím pravým tlačítkem na soubor / skupinu souborů a výběrem možnosti „přidat do archivu“. Stejný proces lze provést také prostřednictvím Pythonu, a o tom zde budeme diskutovat.

Připravujeme prostředí Pythonu

Chcete-li začít používat Python, musíte se ujistit, že ho máte správně nainstalován a vše, co souvisí s jeho závislostmi, je aktuální. Jednou z prvních věcí, které byste měli udělat před instalací čehokoli jiného, ​​je zadání následujícího příkazu:

sudo apt-get aktualizace

Tento příkaz provede kontrolu aktualizace u všech nainstalovaných balíčků a vyhledá nové balíčky, které byly přidány do úložišť. Jakmile je tento program úspěšně spuštěn, je nyní čas zkontrolovat, zda byl python nainstalován správně. To lze potvrdit zadáním následujícího příkazu v okně terminálu:

python3 -v

Pokud vše proběhlo podle plánu, mělo by se jako výstup zobrazit číslo verze. Pokud jste se do tohoto bodu dostali bez jakékoli chyby, můžete nyní pokračovat ve stahování IDE, aby bylo prostředí pythonu mnohem lepší. Pro to, budeme používat notebook Jupyter. K tomu musíte spustit následující příkaz:

sudo apt-get -y install ipython ipython notebook && pip install jupyter

Nyní jste dostatečně připraveni psát jednoduché programy v Pythonu, které umožňují komprimaci .zip soubory a také je rozbalte.

Chcete-li spustit notebook Jupyter, musíte do terminálu zadat následující příkaz: jupyter notebook (Poznámka: IDE rozhraní, které uvidíte na níže uvedených screenshotech, se bude trochu lišit od vašeho standardního notebooku Jupyter. Všechno ostatní funguje stejně)

Po spuštění příkazu se otevře rozhraní notebooku Jupyter ve vašem webovém prohlížeči a odtud můžete začít kódovat vytvořením nového souboru notebooku. Po dokončení budete moci bez problémů programovat své archivační programy.

Nezbytné dovozy

Nyní, když jsme přešli na část kódování, začněme tím, že nejprve provedeme nezbytné importy, které budeme k uskutečnění tohoto úkolu potřebovat. Pokud jednoduše vytvoříme program, který nedělá nic kromě vytváření souborů zipu z existujících souborů, pak stačí importovat dva moduly:

zipfile a os

Modul 'zipfile' je docela vysvětlující. Poskytuje nám velmi snadno použitelné funkce, které nám umožňují vytvářet soubory zip a přidávat adresáře, soubory a podadresáře do nově vytvořených souborů zip s minimálním úsilím. Modul má k dispozici také mnoho dalších použití a pokud chcete zjistit jeho skutečný potenciál, můžete jeho dokumentaci vygooglit online.

Modul „os“ nám umožňuje vypořádat se s pathingy souborů v našich programech. Umožňuje nám prohlížet adresáře a vypisovat jejich obsah nejjednodušším možným způsobem. Pokud jsou obě tyto knihovny používány společně, budete moci snadno vytvořit některé velmi robustní programy, které za vás zvládnou úlohy komprese.

Zde začíná zipování

Když spustíte kód na obrázku níže v notebooku, uvidíte, že v adresáři byl vytvořen soubor zip a jeho velikost je také oproti původnímu souboru značně nízká. Příklad, o kterém jsme hovořili, zahrnoval pouze jeden soubor.

Pokud to chceme posunout o krok dále, kde chceme do našeho souboru zip přidat adresáře a více cest, budeme muset spustit následující fragment kódu.

Po spuštění skriptu se znovu zobrazí nový soubor zip v adresáři, ve kterém se aktuálně nacházíte, a jeho velikost bude mnohem menší než kombinovaná velikost jeho obsahu.

Rozbalení komprimovaných souborů

Možná jste to už uhodli a je to pravda. S knihovnami, které používáme, byly téměř všechny triviální úkoly, o kterých si myslíme, pečlivě vytvořeny do jedné řady řešení a jsou velmi efektivní. Totéž platí pro rozbalení obsahu souborů. Použije se zde stejný modul zipfile a po odkazu na cestu k souboru jednoduše zavoláme funkci nazvanou extrahovat vše který vezme ve svých argumentech cestu, kam chceme dekomprimovat soubor zip.

Proč se rozhodnout to naprogramovat?

Odpověď na tuto otázku je velmi jednoduchá; automatizace. Pokud pracujete s velkým množstvím dat, budete zřejmě potřebovat způsob, jak zkrátit související manuální práci. V roce 2019, pokud lze něco automatizovat, mělo by to být automatizováno. Nemá prostě smysl dělat nadbytečný úkol, který lze provést mnohem efektivněji pomocí velmi nákladově efektivního řešení. Energie, která by byla zbytečná při výrobě souborů zip, může být jinak použita při provádění něčeho produktivního.

Hry Top 5 karet pro zachycení hry
Top 5 karet pro zachycení hry
Všichni jsme viděli a milovali streamování her na YouTube. PewDiePie, Jakesepticye a Markiplier jsou jen někteří z nejlepších hráčů, kteří vydělali mi...
Hry Jak vyvíjet hru na Linuxu
Jak vyvíjet hru na Linuxu
Před deseti lety by jen málo uživatelů Linuxu předpovídalo, že jejich oblíbený operační systém bude jednoho dne populární herní platformou pro komerčn...
Hry Porty komerčních her s otevřeným zdrojovým kódem
Porty komerčních her s otevřeným zdrojovým kódem
Zdarma, s otevřeným zdrojovým kódem a multiplatformní herní enginy lze hrát staré i některé z poměrně nedávných herních titulů. Tento článek uvede sez...