美文网首页
python的gzip解压缩文件

python的gzip解压缩文件

作者: Chaweys | 来源:发表于2021-06-28 11:45 被阅读0次

    import gzip
    def gzip_str():
        """
        :return: 压缩二进制字符test_data
        """
        test_data=b'test gizp data compress'
        #gzip.compress()压缩二进制字符,compresslevel表示压缩级别,0-9,0表示不压缩
        gzip_data=gzip.compress(test_data,compresslevel=3)
        #gzip.decompress()解压缩
        unzip_data=gzip.decompress(gzip_data)
        print(gzip_data)
        print(unzip_data)
    
    def gzip_file(filename):
        """
        :param filename: 待压缩的文件名
        :return:
        """
        gz_filename=filename+'.tgz'          #压缩后文件名
        try:
            f_ungz=open(filename,'rb')       #打开待压缩文件,生成文件对象,注意二进制读取
            f_gz=gzip.open(gz_filename,'wb') #打开压缩文件,生成文件对象,注意二进制写
            f_gz.writelines(f_ungz)          #将打开待压缩文件对象写入到压缩文件对象流
        except Exception as e:
            print('文件压缩失败')
        finally:
            f_ungz.close()
            f_gz.close()
        print('压缩成功')
    
    def ungzip_file(gz_filename):
        """
        :param gz_filename: 待解压的文件名
        :return:
        """
        #由压缩文件获取解压后文件名
        ungz_filename=gz_filename.replace('.tgz','').replace('.tar.gz','')
        try:
            f_gz=gzip.open(gz_filename,'rb')  #打开压缩文件生成文件对象,注意二进制读取
            f_ungz=open(ungz_filename,'wb')   #打开普通文件生成文件对象,注意二进制写
            f_ungz.writelines(f_gz)           #将打开的压缩文件对象写入到普通文件对象流
        except Exception as e:
            print('文件解压失败')
        finally:
            f_ungz.close()
            f_gz.close()
        print("文件解压成功")
    
    
    if __name__ == '__main__':
        # gzip_file('py01.py')
        ungzip_file('py011.py.tgz')
    
    
    解压gzip的压缩并加密后的字符串
    import gzip
    import base64
    
    def ungzipData(strData):
        unzip_data = gzip.decompress(base64.b64decode(strData)).decode("utf8")
        print(unzip_data)
    
    strData = 'H4sIAAAAAAAA//NIzcnJVwjPL8pJAQBWsRdKCwAAAA=='
    ungzipData(strData)
    #结果:Hello World
    

    相关文章

      网友评论

          本文标题:python的gzip解压缩文件

          本文链接:https://www.haomeiwen.com/subject/yedqultx.html