返回顶部
首页 > 资讯 > 后端开发 > Python >Python使用zlib对数据进行简单压
  • 562
分享到

Python使用zlib对数据进行简单压

简单数据Python 2023-01-31 01:01:59 562人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

在python丰富的库中,也有着对数据进行压缩处理的库(zlib)。对于需要数据压缩的应用程序,此模块中的功能允许使用zlib库进行压缩和解压缩。 (本文只对简单的字符串数据进行压缩,如需压缩文件等复杂数据类型,详见zlib官网

python丰富的库中,也有着对数据进行压缩处理的库(zlib)。对于需要数据压缩的应用程序,此模块中的功能允许使用zlib库进行压缩和解压缩。 (本文只对简单的字符串数据进行压缩,如需压缩文件等复杂数据类型,详见zlib官网进行更详细的学习

python3的字符串类型为Unicode,而非字节。

对Unicode字符串进行压缩,先得将字符串编码为字节形式,通过zlib.compress()方法压缩字节数据。

对压缩后的字节数据进行解压缩,通过zlib.decompress()方法解压缩字节数据,再将字节数据解码为Unicode字符串

在这里我们将Python之禅进行压缩和解压缩处理

import zlib
import this


def main():
    python_zen = this.s  # 获取Python之禅的Unicode字符串
    com_bytes = zlib.compress(python_zen.encode('utf-8'))  # 编码为UTF-8格式的字节进行压缩
    print(com_bytes)
    decom_bytes = zlib.decompress(com_bytes)  # 将压缩的字节进行解压缩
    print(decom_bytes.decode('utf-8'))  # 将解压缩的字节进行UTF-8解码得到Unicode字符串


if __name__ == '__main__':
    main()

在这里我们好像看不出什么效果来,我们将数据存储在文件中,查看文件大小来区分压缩和未压缩。

import this
import zlib


def main():
    python_zen = this.s  # 获取字符
    with open('data.txt', 'wb') as f:  # 使用文件写入的上下文环境
        f.write(python_zen.encode('utf-8'))  # 写入未压缩的字节数据

    with open('com_data.txt', 'wb') as f:  # 使用文件写入上下文环境
        com_zen = zlib.compress(python_zen.encode('utf-8'))  # 将字符串编码并压缩
        f.write(com_zen)  # 写入压缩后的字节数据


if __name__ == '__main__':
    main()

运行代码看看压缩结果吧

[tianjun@192 zlib_example]$ python3 example06.py 
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a Good idea.
Namespaces are one honking great idea -- let's do more of those!
[tianjun@192 zlib_example]$ ll
总用量 12
-rw-rw-r--. 1 tianjun tianjun 445 6月   4 00:16 com_data.txt
-rw-rw-r--. 1 tianjun tianjun 856 6月   4 00:16 data.txt
-rw-rw-r--. 1 tianjun tianjun 505 6月   4 00:15 example06.py

可以清楚的看到原数据data.txt大小为856字节,压缩后com_data.txt大小为445字节,由此可见压缩效果非常的好,压缩了接近50%。

--结束END--

本文标题: Python使用zlib对数据进行简单压

本文链接: https://lsjlt.com/news/184200.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python使用zlib对数据进行简单压
    在Python丰富的库中,也有着对数据进行压缩处理的库(zlib)。对于需要数据压缩的应用程序,此模块中的功能允许使用zlib库进行压缩和解压缩。 (本文只对简单的字符串数据进行压缩,如需压缩文件等复杂数据类型,详见zlib官网...
    99+
    2023-01-31
    简单 数据 Python
  • Node.js 使用 zlib 内置模块进行 gzip 压缩
    目录前言什么是gzip?gzip和zlib什么关系?普通数据传输gzip压缩数据传输结语前言 任何服务端开发都少不了性能优化的操作,在前后端使用HTTP接口(API)进行数据传递时,...
    99+
    2024-04-02
  • Node.js | 使用 zlib 内置模块进行 gzip 压缩
    🖥️ NodeJS专栏:Node.js从入门到精通 🖥️ 博主的前端之路:前端之行,任重道远(来自大三学长的万字自述) 🧧 加入社区领红包:海底烧烤店ai(从前端到全栈) 🧑‍💼个人简介:即将大三的学生,一个不甘平庸的平凡人🍬 👉 你的...
    99+
    2023-08-20
    node.js 服务器 前端 gzip 性能优化
  • 如何使用Node的内置模块zlib进行gzip压缩
    这篇文章主要介绍了如何使用Node的内置模块zlib进行gzip压缩的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何使用Node的内置模块zlib进行gzip压缩文章都会有所...
    99+
    2024-04-02
  • Python实现对二维码数据进行压缩
    目录前言一、二维码数据的压缩和写入1.读取二进制文件数据2.压缩二进制文件数据3.使用base64对压缩后的二进制文件数据进行编码4.将编码后的数据写入二维码二、读取压缩后的二维码数...
    99+
    2023-02-15
    Python二维码数据压缩 Python数据压缩 Python二维码数据
  • python 对图片进行简单的处理
    目录安装Pillow包图片划线图片写字图片加图片水印图片模糊图片截取总结安装Pillow包 pip install Pillow 图片划线 from PIL import Image, ImageDraw...
    99+
    2022-06-02
    python 图片处理
  • python用moviepy对视频进行简单的处理
    目录楔子moviepy的简单使用一个小栗子那么moviepy是如何工作的呢?视频属性视频合成1.多个视频按照先后顺序拼接起来。比如一个一分钟和一个两分钟的视频组合起来,变成三分钟。2...
    99+
    2024-04-02
  • 用Ajax+PHP进行简单数据交互
    本篇内容介绍了“用Ajax+PHP进行简单数据交互”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!PHP是一种创建动态交互性站点的服务器端脚本...
    99+
    2023-06-08
  • sysbench对数据库进行压力测试
    sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。安装方式:https://github.com/akopytov/sysbench/blob/master/REA...
    99+
    2024-04-02
  • 如何在 ASP 中使用 http shell 对象进行数据压缩?
    ASP是一种常用的Web开发语言,其灵活性和易用性使其成为了许多开发者的首选。在ASP中,使用http shell对象进行数据压缩是一种非常常见的操作,本文将介绍如何在ASP中使用http shell对象进行数据压缩。 一、什么是http ...
    99+
    2023-06-02
    http shell 对象
  • 怎么使用python对图片进行批量压缩
    本篇内容主要讲解“怎么使用python对图片进行批量压缩”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用python对图片进行批量压缩”吧!使用Python和Pillow模块压缩图片Pil...
    99+
    2023-07-02
  • 如何使用TS对axios的进行简单封装
    目录1.安装axios2.在合适路径下新建request.ts(名称可随意),例如可以在项目的src下创建utils文件夹创建request.ts3.导入axios并创建axios实...
    99+
    2022-11-13
    ts axios简单封装 ts封装axios
  • 怎么在linux中对数据进行压缩
    这篇文章将为大家详细讲解有关怎么在linux中对数据进行压缩,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1,tar命令使用tar程序打出来的包我们常称为tar包,tar包文件的命令通常都是...
    99+
    2023-06-09
  • python中怎么使用Keras进行简单分类
    本篇内容介绍了“python中怎么使用Keras进行简单分类”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Keras中分类的重要函数1、np...
    99+
    2023-06-30
  • 仅使用公共 api 对 alexedwards/scs 进行简单测试
    php小编香蕉本文将介绍如何使用公共 API 对 Alex Edwards/SCS 进行简单测试。Alex Edwards/SCS 是一个用于会话管理的 PHP 库,可以轻松地在应用程...
    99+
    2024-02-09
  • 怎么使用PHP正则对表单数据进行验证
    这篇文章主要介绍了怎么使用PHP正则对表单数据进行验证,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。如何使用PHP正则对表单数据进行验证?首先,我们先布局我们的HTML的表单...
    99+
    2023-06-15
  • 使用Python对零售商品进行数据分析
    目录一、主要内容:二、使用工具三、数据来源四、字段含义五、数据清洗1、查看总体数据特征2、修改列名3、检验缺失数据4、查看并转换数据类型5、查看异常值并删除六、数据分析1、总体销量数...
    99+
    2024-04-02
  • 使用python怎么对表格数据进行处理
    这篇文章给大家介绍使用python怎么对表格数据进行处理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。python对Excel表格的处理首先我们看一个最简单的情况,我们先不考虑性能的问题,那么我们可以使用xlrd这个工...
    99+
    2023-06-14
  • 使用canvas怎么对图片进行压缩
    本篇文章为大家展示了使用canvas怎么对图片进行压缩,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前提的函数将file文件转化为base64function changeFileToBa...
    99+
    2023-06-09
  • 如何使用python对图片进行批量压缩详解
    目录前言使用Python和Pillow模块压缩图片1、优化flag2、渐进式JPEG3、JPEG动态质量使用Python和Selenium模块操纵Squoosh批量压缩图片Pytho...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作