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)