abstract:本文實例講述了Python實現(xiàn)壓縮與解壓gzip大文件的方法。分享給大家供大家參考,具體如下:#encoding=utf-8 #author: walker #date: 2015-10-26 #summary: 測試gzip壓縮/解壓文件 import gzip BufSize = 1024*8 def gZipFile(sr
本文實例講述了Python實現(xiàn)壓縮與解壓gzip大文件的方法。分享給大家供大家參考,具體如下:
#encoding=utf-8 #author: walker #date: 2015-10-26 #summary: 測試gzip壓縮/解壓文件 import gzip BufSize = 1024*8 def 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!')
也可以簡單地封裝成一個類:
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()
更多關于Python實現(xiàn)壓縮與解壓gzip大文件的方法請關注PHP中文網(ipnx.cn)其他文章!