This article describes how to compress and decompress gzip files in Python. it analyzes how to compress a gzip file into a gzip file and decompress a gzip file, and provides corresponding encapsulation classes, for more information about how to compress and decompress gzip files in Python, see the following example. We will share this with you for your reference. The details are as follows:
# Encoding = UTF-8 # author: walker # date: 2015-10-26 # summary: test gzip compression/decompression file import gzipBufSize = 1024 * 8def gZipFile (src, dst): fin = open (src, 'RB') fout = gzip. open (dst, 'wb') in2out (fin, fout) def gunZipFile (gzFile, dst): fin = gzip. open (gzFile, 'RB') fout = open (dst, 'wb') in2out (fin, fout) def in2out (fin, fout): while True: buf = fin. read (BufSize) if len (buf) <1: break fout. write (buf) fin. close () fout . Close () if _ name _ = '_ main _': src = R'D: \ tmp \ src.txt 'dst = R'D: \ tmp \ src.txt.gz 'ori = R'D: \ tmp \ ori.txt 'gzipfile (src, dst) print ('gzipfile over! ') GunZipFile (dst, ori) print ('gunzipfile over! ')
It can also be simply encapsulated into a class:
class GZipTool: def __init__(self, bufSize): self.bufSize = bufSize self.fin = None self.fout = None def compress(self, src, dst): self.fin = open(src, 'rb') self.fout = gzip.open(dst, 'wb') self.__in2out() def decompress(self, gzFile, dst): self.fin = gzip.open(gzFile, 'rb') self.fout = open(dst, 'wb') self.__in2out() def __in2out(self,): while True: buf = self.fin.read(self.bufSize) if len(buf) < 1: break self.fout.write(buf) self.fin.close() self.fout.close()
For more articles about how to compress and decompress gzip large files in Python, refer to the PHP Chinese website!