I dag skal vi se en opplæring som vil håndtere datakomprimering og dekomprimering i Python, en veldig enkel oppgave, siden vi har visse moduler som lar oss utføre dette arbeidet med å komprimere data. Bibliotekene er: zlib, gzip, bz2, zip -fil Y tarfile.
Gjennom opplæringen vil vi se eksempler på noen av bibliotekene for å lære å bruke det, det er den beste måten å forstå hvordan det fungerer.
MerkDet vil gjøre bruk av versjon 3 av Python.
La oss starte med eksemplene. Alle kommer til å være enkle og enkle å forstå.
1. Zlib -modul
Vi kommer til å se et par eksempler med dette biblioteket, begge vil være enkle som vi sa før.
Eksempel 1
Vi har følgende kode, hvordan du kan se er kort:
import zlib som zl line = b "Dette er bare en test for opplæringen som skal publiseres i Solvetic" line_compress = zl.compress (line) print ("Ukomprimert størrelse% d"% len (linje)) print ("Komprimert størrelse% d "% len (line_compress))Vi komprimerer den originale linjen og viser hva den ene og den andre opptar, og får følgende utgang:
Nå skal vi se hvordan du dekomprimerer i det følgende eksemplet.
Eksempel 2
I den følgende koden skal vi komprimere en linje, vise den komprimert og pakke den ut for å vise den.
import zlib som zl line = b "Testing Python zlib" line_compress = zl.compress (line) print (line_compress) line_decompress = zl.decompress (line_compress) print (line_decompress) print (line_decompress.decode ("utf-8")))Vi bruker den siste linjen i koden for å gå fra byte til streng (bruker utf-8 i dekoding), siden den nest siste linjen vil vise a b i begynnelsen. Utgangen av programmet er som følger:
Vi går nå for å se et annet bibliotek som gzip.
2. Gzip -modul
Eksemplene ovenfor er gyldige for dette biblioteket. La oss se eksempel 1 det samme som det forrige, bare endre biblioteket.
Eksempel 1
Koden vi har er følgende, den samme som den forrige, og endrer zlib til gzip:
import gzip line = b "Dette er bare en test for opplæringen som skal publiseres i Solvetic" line_compress = gzip.compress (line) print ("Ukomprimert størrelse% d"% len (linje)) print ("Komprimert størrelse% d" % len (line_compress))Hvis vi utfører, har vi følgende utgang:
Komprimering veier mer enn ukomprimert. Hvis vi endrer teksten for en større og utfører:
Nå hvis du har forbedret størrelsen, men fortsatt bedre komprimere zlib, blir det tatt en fangst, den første kjøringen bruker zlib og den andre gzip.
La oss gå til følgende eksempel, som blir det siste.
Eksempel 2
Nå skal vi skrive og lese fra en fil, koden er som følger:
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 ()Du kan se at vi ikke håndterer mulige unntak som kan oppstå, dette har blitt utelatt for å gjøre eksemplet kortere og mer direkte. Hvis vi kjører koden, har vi følgende utgang:
Vi har sett noen eksempler på bruk av zlib- og gzip -bibliotekene. Du kan konsultere den offisielle Python -dokumentasjonen for å utdype og bedre se disse modulene og de som er nevnt ovenfor. Og hvis du er interessert, lar vi deg lenken til en annen opplæring om Python: Serialize and deserialize.
Likte og hjalp du denne opplæringen?Du kan belønne forfatteren ved å trykke på denne knappen for å gi ham et positivt poeng