La compressione dei dati fornita dal modulo zlib è compatibile
con quella usata dal programma GNU di compressione gzip. Di
conseguenza, il modulo gzip fornisce la classe
GzipFile per leggere e scrivere file in formato
gzip, comprimendo e decomprimendo automaticamente i dati in
modo tale che sembrino oggetti file ordinari. Notare che altri
formati di file che possono essere decompressi dai programmi
gzip e gunzip, come quelli prodotti da
compress e pack, non sono supportati da questo
modulo.
Il modulo definisce i seguenti elementi:
| [filename[, mode[, compresslevel[, fileobj]]]]) |
La nuova istanza di classe è basata su fileobj che deve essere
un file regolare, un oggetto StringIO, od ogni altro oggetto
che simuli un file. Il valore predefinito è None, in tale caso,
filename viene aperto per fornire un oggetto file.
Quando fileobj è diverso da None, l'argomento
filename viene usato unicamente per essere incluso
nell'intestazione del file gzip, che può includere il
nome del file originario del file non compresso. Se discernibile,
il valore predefinito è il nome del file di fileobj, altrimenti,
è una stringa vuota, ed in questo caso il nome del file originario non
viene incluso nell'intestazione.
L'argomento mode può essere uno fra 'r', 'rb',
'a', 'ab', 'w' o 'wb', a seconda se il
file debba essere letto o scritto. Se visibile, il valore
predefinito è il modo di fileobj; altrimenti, il valore
predefinito è 'rb'. Se non viene passata, l'opzione 'b'
verrà aggiunta al modo per assicurare che il file sia aperto in
modalità binaria per portabilità multipiattaforma.
L'argomento compresslevel è un intero compreso fra 1 e
9 che indica il livello di compressione; 1 è il più
rapido e produce la compressione minore, 9 è il più lento e
produce la compressione maggiore. Il valore predefinito è 9.
Chiamare il metodo close() di un oggetto GzipFile non provoca la chiusura i fileobj, visto che si potrebbe voler aggiungere altro materiale dopo i dati compressi. Questo permette anche di passare un oggetto StringIO aperto per essere scritto come fileobj, e recuperare il buffer di memoria risultante usando il metodo getvalue() dell'oggetto StringIO.
| filename[, mode[, compresslevel]]) |
GzipFile(filename, mode, compresslevel).
È richiesto l'argomento filename; mode ha come valore
predefinito 'rb' mentre compresslevel ha come valore
predefinito 9.
Vedete anche: