【python压缩】简单学习

zlib,gzip,bz2,zipfile,tarfile
有关这几个模块的简要学习。
注:借鉴了别人;2023/6/5。


import zlib,gzip,bz2,zipfile,tarfile
#b前缀表面字符是字节类型
#u:进行unicode编码
#r:去除字符转义
str1 = b'fuhao12'  
str2 = b'uohea'

print("-------zlib压缩 ------")
zlibStr1 = zlib.compress(str1)
zlibStr2 = zlib.compress(str2)
#解压decompress(zlibStr1)
print(zlibStr1)
print(zlibStr2)


print("-------gzip压缩------")
gzipStr1 = gzip.compress(str1)
gzipStr2 = gzip.compress(str2)
print(gzipStr1)
print(gzipStr2)
print("------bz2压缩-------")
bz2Str1 = bz2.compress(str1)
bz2Str2 = bz2.compress(str2)
print(bz2Str1)
print(bz2Str2)


print("------zipfile-------")
#压缩单个文件
import os
file_name = 'runoob_urllib_test.html'
file_newname = file_name + '.zip'
dir_file = 'D:\python\pythonCoding\moudle'

if not os.path.exists(file_name):
    print('您要压缩的文件不存在!')
else:
    # step 2: 实例化zipfile对象
    zip = zipfile.ZipFile(file_newname, 'w', zipfile.ZIP_DEFLATED)
    # step 3: 写压缩文件
    zip.write(file_name)
    print('文件压缩成功!')
    zip.close()

print("-------tarfile压缩------")
#压缩文件夹
import os
def make_targz(output_filename,source_dir):
    with tarfile.open(output_filename,'w:gz') as tar:
        tar.add(source_dir,arcname=os.path.basename(source_dir))

make_targz('test.tar','D:\python\pythonCoding')

输出:

-------zlib压缩 ------
b'x\x9cK+\xcdH\xcc74\x02\x00\n\xfc\x02w'
b'x\x9c+\xcd\xcfHM\x04\x00\x06m\x02\x13'
-------gzip压缩------
b'\x1f\x8b\x08\x00\x98\x8d}d\x02\xffK+\xcdH\xcc74\x02\x00\x16L

总结:注意不同压缩方式后的字节编码头。

你可能感兴趣的:(python,python,学习)