【python如何用模块zlib压缩与解压字符串和文件夹】python如何用模块zlib压缩与解压字符串和文件

时间:2020-12-13  来源:python  阅读:

python中zlib模块是用来压缩或者解压缩数据,以便保存和传输。它是其他压缩工具的基础。下面来一起看看python用模块zlib压缩与解压字符串和文件的方法。话不多说,直接来看示例代码。

例子1:压缩与解压字符串

importzlib message="abcd1234" compressed=zlib.compress(message) decompressed=zlib.decompress(compressed)   print"original:",repr(message) print"compressed:",repr(compressed) print"decompressed:",repr(decompressed)

结果

original:"abcd1234" compressed:"x\x9cKLJN1426\x01\x00\x0b\xf8\x02U" decompressed:"abcd1234"

例子2:压缩与解压文件

importzlib defcompress(infile, dst, level=9):  infile=open(infile,"rb")  dst=open(dst,"wb")  compress=zlib.compressobj(level)  data=infile.read(1024)  whiledata:   dst.write(compress.compress(data))   data=infile.read(1024)  dst.write(compress.flush())   defdecompress(infile, dst):  infile=open(infile,"rb")  dst=open(dst,"wb")  decompress=zlib.decompressobj()  data=infile.read(1024)  whiledata:   dst.write(decompress.decompress(data))   data=infile.read(1024)  dst.write(decompress.flush())   if__name__=="__main__":  compress("in.txt","out.txt")  decompress("out.txt","out_decompress.txt")

结果

生成文件

out_decompress.txt out.txt

问题——处理对象过大异常

>>>importzlib >>> a="123" >>> b=zlib.compress(a) >>> b "x\x9c342\x06\x00\x01-\x00\x97" >>> a="a"*1024*1024*1024*10 >>> b=zlib.compress(a) Traceback (most recent call last):  File"", line1,in OverflowError: size doesnotfitinanint

【python如何用模块zlib压缩与解压字符串和文件夹】python如何用模块zlib压缩与解压字符串和文件

http://m.bbyears.com/jiaocheng/116119.html

推荐访问:
相关阅读 猜你喜欢
本类排行 本类最新