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)
python gzip的更多相关文章
- python gzip 压缩文件
压缩数据创建gzip文件 先看一个略麻烦的做法 ? 1 2 3 4 5 6 import StringIO,gzip content = 'Life is short.I use python' zb ...
- python gzip,bz2学习
一.gzip import gzip 1.解压缩 a = gzip.open('a.tar.gz') b = open('a.tar','wb') b.write(a.read()) a.close( ...
- python gzip压缩
1 import urllib2 2 from StringIO import StringIO 3 import gzip 4 5 def loadData(url): 6 request = ur ...
- python开发_gzip_压缩|解压缩gz文件_完整版_博主推荐
''' gzip -- 支持gzip文件 源文件:Lib/gzip.py 这个模块提供了一些简单的接口来对文件进行压缩和解压缩,类似于GNU项目的gzip和gunzip. 数据的压缩源于zlib模块的 ...
- Gzip模块
Gzip模块为python的压缩和解压缩模块,读写gzip 文件 一.使用gzip模块压缩文件: 1 import gzip #导入python gzip模块,注意名字为全小写 2 g = gzip. ...
- python处理经过gzip压缩的网页内容
Python在进行网页抓取时,有时会获取到经过gzip压缩后的数据(体积小,传输快),导致无法阅读和使用. 如图所示,为http原始报文.可以看到,header区域的“Content-Encoding ...
- Python 处理server返回gzip内容
Python 如何处理server返回gzip压缩过的内容,代码如下: from StringIO import StringIOimport gzip request = urllib2.Reque ...
- 飘逸的python - 简明gzip模块压缩教程
压缩数据创建gzip文件 先看一个略麻烦的做法 import StringIO,gzip content = 'Life is short.I use python' zbuf = StringIO. ...
- 从python爬虫引发出的gzip,deflate,sdch,br压缩算法分析
今天在使用python爬虫时遇到一个奇怪的问题,使用的是自带的urllib库,在解析网页时获取到的为b'\x1f\x8b\x08\x00\x00\x00\x00...等十六进制数字,尝试使用chard ...
随机推荐
- switch表达式可使用的类型
在java中switch后的表达式的类型只能为以下几种:byte.short.char.int(在Java1.6中是这样),在java1.7后支持了对string的判断.
- SpringMVC Bean Validation
对于任何一个应用而言在客户端做的数据有效性验证都不是安全有效的,这时候就要求我们在开发的时候在服务端也对数据的有效性进行验证. SpringMVC 自身对数据在服务端的校验(Hibernate Val ...
- SringBoot启动报日志配置错误-logback检测异常
最近在启动项目的时候,报错,报错的原因是springBoot日志配置文件不对. 由于自己是刚接触springboot,是同事帮忙解决的,自己非常感谢! 先总结如下: 1.首先,找到logback-sp ...
- AtCoder Beginner Contest 125 解题报告
那天晚上刚好有事就咕了. 最近的那一场E题还不会写.F题全场又只过了三个?留坑吧... A - Biscuit Generator #include <cstdio> using name ...
- 事件类型(onload)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 交互设计算法基础(4) - Hash Table
import java.util.Map; // Note the HashMap's "key" is a String and "value" is an ...
- 51、Spark Streaming之输入DStream和Receiver详解
输入DStream代表了来自数据源的输入数据流.在之前的wordcount例子中,lines就是一个输入DStream(JavaReceiverInputDStream), 代表了从netcat(nc ...
- HTML5之contenteditable可编辑属性
运用contenteditable实现输入框高度自动增加,输入框标题name相对高度自动居中,代码如下: <!DOCTYPE html> <html> <head> ...
- 洛谷P3620 [APIO/CTSC 2007] 数据备份
题目 贪心+堆. 一般贪心题用到堆的时候都会存在一种反悔操作,因此这个题也不例外. 首先电缆一定是连接两个相邻的点的,这很好证明,其次一个点只能被一条电缆连接,所以我们通过选这个电缆,不选相邻电缆和选 ...
- 坑:jmeter部署AWS云服务器时出现连接超时Non HTTP response code: org.apache.http.conn.HttpHostConnectException
背景: jmeter脚本部署到云服务器(AWS EC2)公网上时,启动jmeter脚本运行了5个小时才运行完毕,后面发现脚本报错timeout(如图),找了很久不知道原因,后面进入脚本发现全部在报错. ...