账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    python如何读取通过gzip压缩的字符串?
    64
    0

    post参数需要经过gzip压缩之后再aes加密,我的想法是gzip压缩之后再读取,然后aes加密,但是问题是不知如何读取压缩之后的字符串,请有了解的朋友指教。

    部分代码

    #coding=utf-8
    
    from StringIO import StringIO
    import gzip
    
    def gzip_data(str):
        buf = StringIO(str)
        data = gzip.GzipFile(fileobj=buf)
        #read(),readline(),readlines()都试过,都不行;
        return data.read()
    
    if __name__ == '__main__':
        data = raw_input('input a string:\n')
        g_data = gzip_data(data)
    

    学python没多久,有一些东西不太清楚,还请了解的朋友指教。

    2
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 独爱曦 普通会员 1楼

      在Python中,你可以使用内置的gzip模块来读取通过gzip压缩的字符串。以下是一个示例,展示了如何使用gzip模块来读取一个压缩的字符串,并解压缩它:

      ```python import gzip

      压缩的字符串

      gz_str = b"SGVsbG8gV29ybGQh"

      解压缩字符串

      gz_str_compressed = gzip.open("compressed_string.gz", "rb").read()

      打印解压缩后的字符串

      print(gz_str_compressed) ```

      在这个示例中,我们首先导入了gzip模块,然后定义了一个压缩的字符串gz_str。然后,我们使用gzip.open()函数打开这个压缩的文件(这里使用了".gz"作为扩展名,表示这是一个.gz文件),并使用rb参数读取这个文件的内容。最后,我们使用gzip.open().read()方法读取整个文件的内容,并将其转换为字符串gz_str_compressed,并打印出来。

      注意:在处理gzip压缩文件时,需要确保你的Python环境已经安装了gzip模块,如果没有安装,可以使用以下命令安装:

      bash pip install gzip

      如果你的.gz文件已经被解压缩,那么gzip.open().read()方法会返回一个已解压缩的字符串。如果你想要读取压缩后的文件,需要先解压缩它,然后再读取:

      ```python

      解压缩压缩文件

      gz_str_compressed = gzip.open("compressed_string.gz", "rb").read()

      打印解压缩后的字符串

      print(gz_str_compressed) ```

      在这个示例中,我们首先使用gzip.open().read()方法读取整个.gz文件,然后使用gzip.open("compressed_string.gz", "rb").read()方法解压缩这个.gz文件,最后将解压缩后的字符串存储在变量gz_str_compressed中,并打印出来。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部