7.13 zlib -- Compresión compatible con gzip

Para las aplicaciones que requieren compresión de datos, las funciones de este módulo permite la compresion y descompresión mediante la biblioteca zlib. La biblioteca zlib posee su propia página web en http://www.cdrom.com/pub/infozip/zlib/. La version 1.1.3 es la más reciente en Abril de 1999, pero se puede utilizar una posterior si está disponible. Se conocen incompatibilidades entre el módulo de Python y versiones anteriores de la biblioteca zlib.

Las excepciones y funciones disponibles en este módulo son:

error
Excepción que se lanza cuando ocurren errores de compresión y descompresión.

adler32 (string[, value])
Calcula un valor de comprobación Adler-32 de string (El valor de comprobación Adler-32 es casi tan fiable como el CRC32 pero es mucho más rápido de calcular). Si aparece value, se usa como valor del partida del algoritmo, en caso contrario, se utiliza un valor por omisión fijo. Esto permite el cálculo sucesivo del valor de comprobación sobre la concatenación de varias cadenas de entrada. El algoritmo no es criptográficamente potente y no debería utilizarse para la autentificación ni para firmas digitales.

compress (string[, level])
Comprime los datos de string, devolviendo una cadena que contiene los datos comprimidos. level es un entero de 1 a 9 que controla el nivel de compresión. 1 es el más rápido y produce la compresión más baja, 9 es el más lento y produce la compresión más alta. El valor por omisión es 6. Hace saltar la excepción error si ocurre algún error.

compressobj ([level])
Devuelve un objeto de compresión, para utilizarlo para comprimir flujos de datos que no caben completos en memoria. level es un entero de 1 a 9 que controla el nivel de compresión. 1 es el más rápido y produce la compresión más baja, 9 es el más lento y produce la compresión más alta. El valor por omisión es 6.

crc32 (string[, value])
Calcula un valor de comprobación CRC (Cyclic Redundancy Check, Código de redundacia cíclica) de string. Si aparece value, se usa como valor del partida del algoritmo, en caso contrario, se utiliza un valor por omisión fijo. Esto permite el cálculo sucesivo del valor de comprobación sobre la concatenación de varias cadenas de entrada. El algoritmo no es criptográficamente potente y no debería utilizarse para la autentificación ni para firmas digitales.

decompress (string[, wbits[, bufsize]])
Descomprime los datos de string, obteniendo como resultado una cadena con los datos sin comprimir. El parámetro wbits controla el tamaño de la ventana de cálculo. Si aparece bufsize se utiliza como valor inicial de la cedena de salida. Hace saltar la excepción error si ocurre algún error.

El valor absoluto de de wbits es el logaritmo en base 2 del tamaño del buffer histórico (el ``tamaño de la ventana'') utilizado para comprimir datos. Su valor absolute debería estar entre 8 y 15 para las versiones más recientes de la biblioteca zlib, dando los valores más altos compresiones más elevadas a costa de la ocupación de memoria. El valor por omisión es 15. Cuando wbits es negativo, se suprime la cabecera gzip. Esto es una peculiaridad no documentada de la biblioteca zlib, utilizado por compatibilidad con el formato de fichero de compresión de unzip.

bufsize es el tamaño inicial del buffer utilizado para almacenar los datos descomprimidos. SI hace falta más espacio, el tamaño del buffer crecera tanto como sea necesario, así que no hay que obtener este valor con precisión. Afinar este valor sólo ahorrará unas llamadas a malloc(). El valor por omisión es 16384.

decompressobj ([wbits])
Devuelve un objeto de compresión Returns a compression object, to be used for decompressing data streams that won't fit into memory at once. The wbits parameter controls the size of the window buffer.

Compression objects support the following methods:

compress (string)
Compress string, returning a string containing compressed data for at least part of the data in string. This data should be concatenated to the output produced by any preceding calls to the compress() method. Some input may be kept in internal buffers for later processing.

flush ([mode])
All pending input is processed, and a string containing the remaining compressed output is returned. mode can be selected from the constants Z_SYNC_FLUSH, Z_FULL_FLUSH, or Z_FINISH, defaulting to Z_FINISH. Z_SYNC_FLUSH and Z_FULL_FLUSH allow compressing further strings of data and are used to allow partial error recovery on decompression, while Z_FINISH finishes the compressed stream and prevents compressing any more data. After calling flush() with mode set to Z_FINISH, the compress() method cannot be called again; the only realistic action is to delete the object.

Decompression objects support the following methods, and a single attribute:

unused_data
A string which contains any unused data from the last string fed to this decompression object. If the whole string turned out to contain compressed data, this is "", the empty string.

The only way to determine where a string of compressed data ends is by actually decompressing it. This means that when compressed data is contained part of a larger file, you can only find the end of it by reading data and feeding it into a decompression object's decompress method until the unused_data attribute is no longer the empty string.

decompress (string)
Decompress string, returning a string containing the uncompressed data corresponding to at least part of the data in string. This data should be concatenated to the output produced by any preceding calls to the decompress() method. Some of the input data may be preserved in internal buffers for later processing.

flush ()
All pending input is processed, and a string containing the remaining uncompressed output is returned. After calling flush(), the decompress() method cannot be called again; the only realistic action is to delete the object.

Más informació en:

Module gzip:
reading and writing gzip-format files.

The zlib library home page is located at http://www.cdrom.com/pub/infozip/zlib/.


Ver Sobre este documento... para obtener información sobre sugerencias.