gzip
The gzip module provides gzip compression and decompression for files, text, and raw bytes.
Factories
Factory
Returns
Description
gzip.file(path)
gzip.file
Create a gzip file handle for compress/decompress operations
gzip.text(s)
gzip.source
Create a gzip source from a string
gzip.bytes(data)
gzip.source
Create a gzip source from raw bytes
gzip.source
A source wraps in-memory data (text or bytes) for compression and decompression.
Method
Returns
Description
compress(dest="", level=-1)
bytes
Compress the data; optionally write to dest file. level sets compression level (-1 = default)
decompress(dest="")
bytes
Decompress the data; optionally write to dest file
data
property
The underlying data
try_ variants
Method
Returns
Description
try_compress(dest="", level=-1)
Result
Like compress, returns Result instead of raising
try_decompress(dest="")
Result
Like decompress, returns Result instead of raising
gzip.file
A file handle for compressing or decompressing gzip files on disk.
Method
Returns
Description
compress(source, level=-1)
None
Compress source file into this gzip file
decompress(dest="")
None
Decompress this gzip file; optionally specify output dest
try_ variants
Method
Returns
Description
try_compress(source, level=-1)
Result
Like compress, returns Result instead of raising
try_decompress(dest="")
Result
Like decompress, returns Result instead of raising
Examples
Compress text to bytes
src = gzip . text ( "Hello, world!" )
compressed = src . compress ()
print ( len ( compressed )) # compressed byte count
Compress and write to file
src = gzip . text ( "large content here" )
src . compress ( dest = "/tmp/output.gz" )
Decompress a gzip file
gz = gzip . file ( "/tmp/output.gz" )
gz . decompress ( dest = "/tmp/output.txt" )
Round-trip with bytes
original = b "binary data payload"
src = gzip . bytes ( original )
compressed = src . compress ( level = 9 )
restored = gzip . bytes ( compressed ) . decompress ()
assert_equal ( original , restored )
Using try_ for safe decompression
result = gzip . file ( "/tmp/maybe.gz" ) . try_decompress ()
if result . ok :
print ( "Decompressed successfully" )
else :
print ( "Error:" , result . error )
Note:
All gzip methods that can fail support try_ variants that return a Result instead of raising an error.