Dnes uvidíme tutoriál, který se bude zabývat komprese a dekomprese dat v Pythonu, velmi snadný úkol, protože máme určité moduly, které nám umožní tuto práci komprimovat data. Knihovny jsou: zlib, gzip, bz2, zipfile Y tarfile.
V celém kurzu uvidíme příklady některých knihoven, abychom se naučili, jak je používat, je to nejlepší způsob, jak pochopit, jak funguje.
PoznámkaBude využívat verzi 3 Pythonu.
Začněme příklady. Všechny budou jednoduché a snadno pochopitelné.
1. Zlib modul
Uvidíme několik příkladů s touto knihovnou, oba budou snadné, jak jsme řekli dříve.
Příklad 1
Máme následující kód, jak můžete vidět, je stručný:
import zlib as zl line = b "Toto je pouze test pro tutoriál, který má být publikován v Solvetic" line_compress = zl.compress (řádek) tisk ("Nekomprimovaná velikost% d"% len (řádek)) tisk ("Komprimovaná velikost% d "% len (line_compress))Zkomprimujeme původní řádek a ukážeme, co jeden a druhý zabírá, čímž získáme následující výstup:
Nyní uvidíme, jak v následujícím příkladu dekomprimovat.
Příklad 2
V následujícím kódu zkomprimujeme řádek, zobrazíme jej komprimovaný a rozbalením jej zobrazíme.
import zlib jako zl line = b "Testování Pythonu zlib" line_compress = zl.compress (řádek) tisk (line_compress) line_decompress = zl.decompress (line_compress) tisk (line_decompress) tisk (line_decompress.decode ("utf-8"))Poslední řádek kódu používáme k přechodu z bajtů na řetězec (při dekódování používáme utf-8), protože na předposledním řádku se na začátku zobrazí b. Výstup programu je následující:
Nyní se jdeme podívat na další knihovnu, například gzip.
2. Gzip modul
Výše uvedené příklady platí pro tuto knihovnu, podívejme se na příklad 1 stejně jako ten předchozí, pouze měnící knihovnu.
Příklad 1
Kód, který máme, je následující, stejný jako předchozí, měnící zlib na gzip:
import gzip line = b "Toto je pouze test pro tutoriál, který má být publikován v Solvetic" line_compress = gzip.compress (řádek) tisk ("Nekomprimovaná velikost% d"% len (řádek)) tisk ("Komprimovaná velikost% d" % len (line_compress))Pokud spustíme, máme následující výstup:
Komprese váží více než nekomprimovaná. Pokud změníme text na větší a spustíme:
Nyní, pokud jste vylepšili velikost, ale stále lépe komprimujete zlib, pak je provedeno zachycení, první spuštění používá zlib a druhé gzip.
Pojďme k následujícímu příkladu, který bude poslední.
Příklad 2
Nyní budeme psát a číst ze souboru, kód je následující:
import gzip fw = gzip.open ('test.txt.gz', 'wb') fw.write (b "Testing gzip") fw.close () fr = gzip.open ('test.txt.gz', ' rb ') print (fr.read (). decode ("utf-8")) fr.close ()Vidíte, že se nezabýváme možnými výjimkami, které mohou nastat, toto bylo vynecháno, aby byl příklad kratší a přímější. Pokud spustíme kód, máme následující výstup:
Viděli jsme několik příkladů použití knihoven zlib a gzip, můžete prohlédnout oficiální dokumentaci Pythonu, abyste prohloubili a lépe viděli tyto moduly a ty, které jsou uvedeny výše. A pokud vás to zajímá, ponecháme vám odkaz na další tutoriál o Pythonu: Serializace a deserializace.
Líbil se vám tento návod a pomohl mu?Autora můžete odměnit stisknutím tohoto tlačítka, čímž mu dáte kladný bod