Како компримовати и декомпримирати податке у Питхону

Преглед садржаја

Данас ћемо видети водич који ће се бавити компресија и декомпресија података у Питхону, врло лак задатак, будући да имамо одређене модуле који ће нам омогућити да извршимо овај посао компримовања података. Библиотеке су: злиб, гзип, бз2, зипфиле И тарфиле.

Кроз водич ћемо видети примере неких библиотека да научимо како да их користимо, то је најбољи начин да разумете како функционише.

БелешкаКористиће верзију 3 Питхона.

Почнимо са примерима. Сви они ће бити једноставни и лако разумљиви.

1. Злиб модул


Видећемо неколико примера са овом библиотеком, оба ће бити лака као што смо раније рекли.

Пример 1
Имамо следећи код, како можете видети је кратак:

 импорт злиб ас зл лине = б "Ово је само тест за водич који ће бити објављен у Солветицу" лине_цомпресс = зл.цомпресс (лине) принт ("Некомпресована величина% д"% лен (лине)) принт ("Компримована величина% д "% лен (лине_цомпресс))
Сажимамо оригиналну линију и показујемо шта једно и друго заузима, добијајући следећи излаз:

Сада ћемо видети како да декомпримујемо у следећем примеру.

Пример 2
У следећем коду ћемо компримовати линију, показати је компримованом и распаковати да бисмо је приказали.

 импорт злиб ас зл лине = б "Тестирање Питхон злиб-а" лине_цомпресс = зл.цомпресс (лине) принт (лине_цомпресс) лине_децомпресс = зл.децомпресс (лине_цомпресс) принт (лине_децомпресс) принт (лине_децомпресс.децоде ("утф-8"))
Последњи ред кода користимо за прелазак од бајтова до низа (користећи утф-8 у декодирању), јер ће претпоследњи ред на почетку приказивати б. Резултат програма је следећи:

Сада идемо да видимо другу библиотеку као што је гзип.

2. Гзип модул


Горе наведени примери важе за ову библиотеку, погледајмо пример 1 исти као и претходни, само мењајући библиотеку.

Пример 1
Код који имамо је следећи, исти као и претходни, мењајући злиб у гзип:

 импорт гзип лине = б "Ово је само тест за водич који ће бити објављен у Солветицу" лине_цомпресс = гзип.цомпресс (лине) принт ("Некомпресована величина% д"% лен (линија)) принт ("Компримована величина% д" % лен (лине_цомпресс))
Ако извршимо, имамо следећи излаз:

Компресија тежи више од некомпресоване. Ако променимо текст за већи и извршимо:

Сада, ако сте побољшали величину, али ипак боље компримирали злиб, тада се ставља хватање, прва изведба користи злиб, а друга гзип.

Идемо на следећи пример, који ће бити последњи.

Пример 2
Сада ћемо писати и читати из датотеке, код је следећи:

 импорт гзип фв = гзип.опен ('тест.ткт.гз', 'вб') фв.врите (б "Тестирање гзипа") фв.цлосе () фр = гзип.опен ('тест.ткт.гз', ' рб ') принт (фр.реад (). децоде ("утф-8")) фр.цлосе ()
Видите да се не бавимо могућим изузецима који могу настати, ово је изостављено како би пример био краћи и директнији. Ако покренемо код, имамо следећи излаз:

Видели смо неке примере коришћења библиотека злиб и гзип, можете се консултовати са званичном Питхон документацијом како бисте продубили и боље видели ове модуле и оне горе поменуте. А у случају да сте заинтересовани, остављамо вам везу до другог водича о Питхону: Сериализе анд десериализе.

Да ли вам се допао и помогао овај водич?Можете наградити аутора притиском на ово дугме да бисте му дали позитиван поен
wave wave wave wave wave