python压包的概念及实例详解


Posted in Python onFebruary 17, 2021

对于一些分解后的元素,我们也是有重新归类的需要。那么我们把解包的恢复过程,叫做压包。这里要用到zip函数的方法,对元素重新进行打包处理,在之前的学习中我们已经对zip函数有所接触。下面我们就python压包的概念、方法进行介绍,然后带来相关的实例使用。

1、概念

压包是解包的逆过程,用zip函数实现。

2、方法

(1)zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的对象(Python3)。

(2)如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用*号操作符,可以将元组解压为列表。

3、实例

先是zip函数将a b压包成为一个可迭代对象,对可迭代对象的每一个元素((‘a', 1))进行解包(i, j = (‘a', 1)),此时就可以分别调用i j变量进行计算。

>>> a = [0, 1, 2]
>>> b = [1, 2, 3]
>>> for i, j in zip(a, b):
...   print(i+j)
...
1
3
5

知识点扩展

1.Python--gzip压缩ZIP文件:

import gzip
f_src = open("data.txt", "rb") #打开文件
f_tar= gzip.open("data.txt.gz", "wb")#创建压缩文件对象
f_tar.writelines(f_src)
f_tar.close()
f_src.close()
import gzip 
g = gzip.GzipFile(filename="", mode="wb", compresslevel=9, fileobj=open('sitemap.log.gz', 'wb'))
g.write(open('d:\\test\\sitemap.xml').read())
g.close()

其中,filename参数是压缩文件内文件的名字,为空也可以,不修改。fileobj是生成的压缩文件对象,它的路径名称等。最后是把文件写入gzip文件中去,再关闭操作连接。

2.Python--gzip解压ZIP文件:

import gzip
f = gzip.open("data.txt.gz", 'rb')    #打开压缩文件对象
f_out=open("data.txt","w")        #打开解压后内容保存的文件
file_content = f.read()          #读取解压后文件内容
f_out.write(file_content.decode("utf-8")) #写入新文件当中
print(file_content)            #打印读取内容
f.close()
f_out.close()
g = gzip.GzipFile(mode="rb", fileobj=open('d:\\test\\sitemap.log.gz', 'rb'))
open(r"d:\\haha.xml", "wb").write(g.read())

使用的时候注意,函数方法的大小写一点要看仔细,如果gzip文件是这种形式的:*.tar.gz,证明先是由tar命令压缩后,后再由 gzip压缩的,需要先用解压缩tar文件,再用gzip模块解压缩。其实,现在很多网页为了提高浏览器端用户的访问速度,和搜索引擎爬虫抓取的速度,都在使用gzip压缩。

到此这篇关于python压包的概念及实例详解的文章就介绍到这了,更多相关python压包是什么内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
理解Python垃圾回收机制
Feb 12 Python
wxPython之解决闪烁的问题
Jan 15 Python
Python使用matplotlib绘图无法显示中文问题的解决方法
Mar 14 Python
python+splinter自动刷新抢票功能
Sep 25 Python
Windows下Python3.6安装第三方模块的方法
Nov 22 Python
利用python实现在微信群刷屏的方法
Feb 21 Python
python中可以声明变量类型吗
Jun 18 Python
Python 存取npy格式数据实例
Jul 01 Python
python使用matplotlib:subplot绘制多个子图的示例
Sep 24 Python
python使用smtplib模块发送邮件
Dec 17 Python
Python实现曲线拟合的最小二乘法
Feb 19 Python
pytorch 中autograd.grad()函数的用法说明
May 12 Python
python解包概念及实例
Feb 17 #Python
requests在python中发送请求的实例讲解
Feb 17 #Python
python切片作为占位符使用实例讲解
Feb 17 #Python
Django视图类型总结
Feb 17 #Python
Python3+SQLAlchemy+Sqlite3实现ORM教程
Feb 16 #Python
Python3+Appium安装及Appium模拟微信登录方法详解
Feb 16 #Python
Python3使用Selenium获取session和token方法详解
Feb 16 #Python
You might like
两个强悍的php 图像处理类1
2009/06/15 PHP
通达OA公共代码 php常用检测函数
2011/12/14 PHP
php中存储用户ID和密码到mysql数据库的方法
2013/02/06 PHP
PHP可变函数的使用详解
2013/06/14 PHP
php倒计时出现-0情况的解决方法
2016/07/28 PHP
php微信公众号开发之音乐信息
2018/10/20 PHP
jquery实现未经美化的简洁TAB菜单效果
2015/08/28 Javascript
基于JS实现数字+字母+中文的混合排序方法
2016/06/06 Javascript
jQuery 3.0十大新特性最终版发布
2016/07/14 Javascript
完美JQuery图片切换效果的简单实现
2016/07/21 Javascript
使用jQuery.Qrcode插件在客户端动态生成二维码并添加自定义Logo
2016/09/01 Javascript
JS实现点击表头表格自动排序(含数字、字符串、日期)
2017/01/22 Javascript
JS复制对应id的内容到粘贴板(Ctrl+C效果)
2017/01/23 Javascript
BootStrap实现带关闭按钮功能
2017/02/15 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
2017/12/11 Javascript
vue实现在表格里,取每行的id的方法
2018/03/09 Javascript
详解VUE单页应用骨架屏方案
2019/01/17 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Web服务器框架 Tornado简介
2014/07/16 Python
python中 chr unichr ord函数的实例详解
2017/08/06 Python
Python贪心算法实例小结
2018/04/22 Python
Python利用sqlacodegen自动生成ORM实体类示例
2019/06/04 Python
Python中sys模块功能与用法实例详解
2020/02/26 Python
Python捕获异常堆栈信息的几种方法(小结)
2020/05/18 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
PyQt中使用QtSql连接MySql数据库的方法
2020/07/28 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
餐饮采购员岗位职责
2014/03/15 职场文书
初中家长寄语
2014/04/02 职场文书
个人投资合作协议书
2014/10/12 职场文书
党性分析材料格式
2014/12/19 职场文书
企业办公室主任岗位职责
2015/04/01 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
Python  序列化反序列化和异常处理的问题小结
2022/12/24 Python