import zlib zlib.compress(data, level=-1)
Функция compress() модуля zlib сжимает данные data представленные в байтах, возвращая объект байтов, содержащий сжатые данные.
Уровень level - целое число от 0 до 9 или -1, управляющее уровнем сжатия.
Z_BEST_SPEED) является самым быстрым и производит наименьшее сжатие,Z_BEST_COMPRESSION) является самым медленным и производит максимальное сжатие.Z_NO_COMPRESSION) не производит сжатие.Z_DEFAULT_COMPRESSION) значение по умолчанию.Z_DEFAULT_COMPRESSION представляет компромисс по умолчанию между скоростью и сжатием, в настоящее время эквивалентен уровню 6.
Вызывает исключение zlib.error, если возникает какая-либо ошибка.
>>> import zlib # создадим массив данных >>> text = 'Привет docs-python.ru ' >>> data = [] >>> for _ in range(10): ... data.append(text * 20) ... # преобразование текста в байты >>> byte_data = '\n\n'.join(data).encode('utf-8') # сжимаем данные >>> compress = zlib.compress(byte_data, level=-1) # длинна не сжатых данных >>> len(byte_data) # 4418 # длинна сжатых данных >>> len(compress) # 85 # найдем процент сжатия >>> (1 - len(compress) / len(byte_data)) * 100 # 98.07605251244908