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