gzip模块能够直接压缩和解压缩bytes-like类型的数据,同时也能实现对应格式文件的压缩与解压缩
import gzip
test_data = b‘gzip test data‘
gzip_data = gzip.compress(test_data) # 压缩数据
ungz_data = gzip.decompress(gzip_data) #解压缩数据
print(gzip_data) #输出b‘\x1f\x8b\x08\x00\xddOa`\x02\xffK\xaf\xca,P(I-.QHI,I\x04\x00*\xfb\x85\x89\x0e\x00\x00\x00‘
print(ungz_data) #输出b‘gzip test data‘,和test_data一致
#coding=utf-8
import gzip
def gz(filename):
‘‘‘压缩文件‘‘‘
gz_filename = filename + ‘.tgz‘ #压缩后文件名
f_ungz = open(filename,‘rb‘) # 打开未压缩文件对象
f_gz = gzip.open(gz_filename,‘wb‘) # 使用open函数创建压缩文件对象
# f_gz = gzip.GzipFile(gz_filename,‘wb‘) 使用GzipFile类创建压缩文件对象
f_gz.writelines(f_ungz) #写入压缩内容
f_ungz.close()
f_gz.close()
def ungz(gz_filename):
‘‘‘解压缩文件‘‘‘
ungz_filename = gz_filename.replace(‘.tgz‘,‘‘).replace(‘.tar.gz‘,‘‘)# 解压缩后文件名
f_gz = gzip.GzipFile(gz_filename)#使用GzipFile类创建压缩文件对象
# f_gz = gzip.open(gz_filename) 使用open函数打开压缩文件对象
f_ungz = open(ungz_filename,‘wb‘) #新建未压缩文件对象
f_ungz.writelines(f_gz) #写入解压缩后的文件内容
f_ungz.close()
f_gz.close()
原文:https://www.cnblogs.com/Elite-Wang/p/14591861.html