python zlib ,zlib 压缩流
zlib 字符串:使用zlib.compress可以压缩字符串。使用zlib.decompress可以解压字符串。 数据流:压缩:compressobj,解压:decompressobj import zlib import time s='aldsfjdals拉萨的附近拉水电费拉克丝等级分sdfgfsdgsdfg ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd类的撒酒疯拉萨的解放路'.encode('utf-8') #需要转成bytes类型: for i in range(0,15): s+=s print(len(s)) #--------------------------------------------------- str_time=time.time() compress_str = zlib.compress(s)#进行压缩 print(len(compress_str)) #print(zlib.decompress(compress_str).decode('utf-8'))#数据解压 print(time.time()-str_time) #------------------------------------------------- str_obj=time.time() level=9 c_obj = zlib.compressobj(level)#设置压缩等级 com_obj_str = c_obj.compress(s) print(len(com_obj_str)) print(time.time()-str_obj) # 7995392 # 31149 # 0.12890625 # 16425 # 0.1015625 注:compressobj返回一个压缩对象,用来压缩不能一下子读入内存的数据流。 level 从9到-1表示压缩等级,其中1最快但压缩度最小,9最慢但压缩度最大,0不压缩,默认是-1大约相当于与等级6,是一个压缩速度和压缩度适中的level。
压缩内存中的二进制流
数据流压缩和实际应用
from io import BytesIOimport xlsxwriter as xwimport zlibbytesio = BytesIO()workbook = xw.Workbook(bytesio) work_sheet = workbook.add_worksheet('excel')merge_format=workbook.add_format( { "bold":True, "bg_color":"red", "valign":"top" })for row in range(10): for col in range(10): work_sheet.write(row,col,"需要写入的内容",merge_format) workbook.close() file_bytes = bytesio.getvalue()print("文件大小:{}".format(len(file_bytes)))with open('save.xlsx','wb') as f: f.write(file_bytes) f.flush() compress_file_bytes = zlib.compress(file_bytes,9)print("文件大小:{}".format(len(compress_file_bytes)))
python zlib ,zlib 压缩流的更多相关文章
- python 模块zlib 压缩与解压
例子1:压缩与解压字符串 import zlib message = 'abcd1234' compressed = zlib.compress(message) decompressed = zli ...
- 基于Zlib算法的流压缩、字符串压缩源码
原文:基于Zlib算法的流压缩.字符串压缩源码 Zlib.net官方源码demo中提供了压缩文件的源码算法.处于项目研发的需要,我需要对内存流进行压缩,由于zlib.net并无相关文字帮助只能自己看源 ...
- [Zlib]_[0基础]_[使用zlib库压缩文件]
场景: 1. WIndows上没找到系统提供的win32 api来生成zip压缩文件, 有知道的大牛麻烦留个言. 2. zlib比較经常使用,编译也方便,使用它来做压缩吧. MacOSX平台默认支持z ...
- [源码]ObjectIOStream 对象流 ByteArrayIOStream 数组流 内存流 ZipOutputStream 压缩流
1.对象流 import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.File ...
- .net学习之集合、foreach原理、Hashtable、Path类、File类、Directory类、文件流FileStream类、压缩流GZipStream、拷贝大文件、序列化和反序列化
1.集合(1)ArrayList内部存储数据的是一个object数组,创建这个类的对象的时候,这个对象里的数组的长度为0(2)调用Add方法加元素的时候,如果第一次增加元神,就会将数组的长度变为4往里 ...
- java压缩流
java压缩流是为了减少传输时的数据量,可以将文件压缩成ZIP.JAR.GZIP等文件格式.
- python dpkt解析ssl流
用法:python extract_tls_flow.py -vr white_pcap/11/2018-01-10_13-05-09_2.pcap -o pcap_ssl_flow.txt & ...
- Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream)
Java基础-IO流对象之压缩流(ZipOutputStream)与解压缩流(ZipInputStream) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 之前我已经分享过很多的J ...
- python+ mysql存储二进制流的方式
很多时候我们为了管理方便会把依稀很小的图片存入数据库,有人可能会想这样会不会对数据库造成很大的压力,其实大家可以不用担心,因为我说过了,是存储一些很小的图片,几K的,没有问题的! 再者,在这里我们是想 ...
- 【转】python的zipfile压缩、解压缩
网上搜索了很多关于python的zipfile压缩.解压缩.觉得讲述比较详细,例子也很明了.由于比较懒,就直接复制了. 以下内容大部分转于 http://blog.csdn.net/jgood/art ...
随机推荐
- python selenium 基本常用操作
最近学习UI自动化,把一些常用的方法总结一下,方便自己以后查阅需要.因本人水平有限,有不对之处多多包涵!欢迎指正! 一.xpath模糊匹配定位元素 武林至尊,宝刀屠龙刀(xpath),倚天不出(css ...
- An error occurred while starting the application.
一..net core 发布后的站点启动报错如下 An error occurred while starting the application. .NET Core 4.6.26328.01 X6 ...
- [Android]Linux下WebRTC下载与编译
1.硬盘空间: WebRTC官方原话: The checkout size is large due the use of the Chromium build toolchain and many ...
- 浅谈 MongoDB
MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较 ...
- ReactiveX 学习笔记(28)使用 RxJS + React.js 进行 GUI 编程
课题 程序界面由3个文本编辑框和1个文本标签组成. 要求文本标签实时显示3个文本编辑框所输入的数字之和. 文本编辑框输入的不是合法数字时,将其值视为0. 3个文本编辑框的初值分别为1,2,3. 创建工 ...
- MyEclipse2014破解版安装教程
下载安装包和破解程序脚本 1.下载地址 链接:https://pan.baidu.com/s/1XuMweEz602zcoGqwPb2xTA 提取码:idsx 两个文件:myeclipse-pro- ...
- 关于如何登陆oracle 18c pdb 的问题
server 上输入 sqlplus username/password@lP:port/service name 登陆提示 no listener 的时候, 在另外一台机器上 直接连接 哈哈哈.. ...
- python os.path.isfile函数
最近刚开始学习Python,做了个小练习:扫描当前目录及其子目录中的文件,找出文件名中含有指定关键字的文件并打印文件名.思路很简单,如果是文件则判断是否满足条件:如果是目录则进入目录搜索文件,递归. ...
- 《Dare To Dream 》第三次作业--团队项目的原型设计与开发
一.实验目的与要求 1.掌握软件原型开发技术: 2.学习使用软件原型开发工具: 二.实验内容与步骤 任务1:针对实验六团队项目选题,采用适当的原型开发工具设计团队项目原型: 任务2:在团队博客发布博 ...
- 微信小程序---转发分享功能
1. 转发---onShareAppMessage 2.不带参数 //用户点击右上角分享 onShareAppMessage: function (res) { return { title: 'xx ...