Python 3.2+gzipфункция
gzip.decompress()
сжатие в памяти
Распаковывает байты в формате gzip целиком в памяти; склеенные gzip-потоки возвращает одной строкой байт.
Синтаксис
gzip.decompress(data)
Несколько gzip-потоков подряд распаковываются в общий результат — так работают дописанные .gz-логи. Ошибки разные по смыслу: чужие данные — gzip.BadGzipFile, обрезанный поток — EOFError, а не BadGzipFile, поэтому ловить надо оба. Данные формата zlib (из zlib.compress) не подходят: для них zlib.decompress.
Примеры
import gzip
both = gzip.compress(b'ab', mtime=0) + gzip.compress(b'cd', mtime=0)
print(gzip.decompress(both)) # → b'abcd'
try:
gzip.decompress(gzip.compress(b'abcdef', mtime=0)[:-3])
except EOFError:
print('обрезано') # → обрезано
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности