• python gzip


    通常用gzip压缩过的云端数据需要做解压处理,以下代码主要用python3实现对获取到的云端gzip压缩数据进行还原。

    # -*- coding: utf-8 -*-
    """
    Spyder Editor
    This is a temporary script file.
    """
     
    #! /usr/bin/env python3.6
     
    import requests
    import gzip
     
     
    def main():
        url = 'http://127.0.0.1:801/health/index.php/mobile/test/getBanners'    
        data = {'test': 'data'}
        headers ={"User-agent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:36.0) Gecko/20100101 Firefox/36.0",
                  "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                  #"Accept-Language":"en-US,en;q=0.5",
                  "Accept-Encoding":"gzip, deflate",
                  #"Connection":"keep-alive",
                  "Content-Type":"application/x-www-form-urlencoded",
                  }
     
        resp = requests.get(url, headers=headers, params=data) 
        #resp = requests.post(url, data=data, headers=headers)
        
        if resp.status_code == 200:
            
            print('gzip data: ',resp.content)
            data = gzip.decompress(resp.content).decode("utf-8")
            print("ungzip data: ",data)
        else:
            print("error")
     
    if __name__ == '__main__':
        main()  
    <pre name="code" class="python">解压gzip文件示例:
    import gzip
    f = gzip.open('file.txt.gz', 'rb')
    file_content = f.read()
    f.close()
     
     
    创建gzip文件:
    import gzip
    content = "Lots of content here"
    f = gzip.open('file.txt.gz', 'wb')
    f.write(content)
    f.close()
     
     
    gzip压缩现有文件:
    import gzip
    f_in = open('file.txt', 'rb')
    f_out = gzip.open('file.txt.gz', 'wb')
    f_out.writelines(f_in)
    f_out.close()
    f_in.close()

    从/opt/mat/*.gz文件中读取每一行,找到包含'GET~#~ ~#~'或者'POST~#~ ~#~'的输出该行

    #!/usr/bin/python
    #!encoding:utf8
     
    import shutil
    import os
    import sys
    import glob
    import re
    import gzip
     
    #扫描目录文件
    def parseFile(filename):
        #打开文件,遍历其中的每一行遇到有'GET~#~ ~#~'或者'POST~#~ ~#~'的输出该行
        file = gzip.open(filename, 'rb')
        #eachline = file.readlines()
        for eachline in file:
            #str = eachline
            #if eachline == "*GET~#~ ~#~*" or eachline == "*POST~#~ ~#~*":
            if eachline.find("GET~#~ ~#~") or eachline.find("*POST~#~ ~#~*"):
                print(eachline)
        file.close()
    if __name__ == '__main__':
        scandir = '/opt/mat/'
        fileform = '*.gz'
        flist = glob.glob(os.path.join(scandir, fileform))
        for item in flist:
            print(item)
            parseFile(item)
  • 相关阅读:
    console.dir()和console.log()的区别
    md5
    sorket is closed
    箱形图和小提琴图
    PCA降维
    模式识别与机器学习(二)
    模式识别与机器学习(一)
    论文研读Unet++
    分类中使用的一些评价指标
    前列腺分割论文
  • 原文地址:https://www.cnblogs.com/wangbaihan/p/9466705.html
Copyright © 2020-2023  润新知