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 21 Python
python将unicode转为str的方法
Jun 21 Python
基于Python实现的微信好友数据分析
Feb 26 Python
python web基础之加载静态文件实例
Mar 20 Python
python读文件保存到字典,修改字典并写入新文件的实例
Apr 23 Python
使用Scrapy爬取动态数据
Oct 21 Python
解决Pycharm后台indexing导致不能run的问题
Jun 27 Python
在PyCharm中控制台输出日志分层级分颜色显示的方法
Jul 11 Python
python中pow函数用法及功能说明
Dec 04 Python
Pandas中DataFrame交换列顺序的方法实现
Dec 14 Python
如何通过python检查文件是否被占用
Dec 18 Python
anaconda安装pytorch1.7.1和torchvision0.8.2的方法(亲测可用)
Feb 01 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 彩色文字实现代码
2009/06/29 PHP
PHP+XML 制作简单的留言本 图文教程
2009/11/02 PHP
使用PHP获取网络文件的实现代码
2010/01/01 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
PHP中source #N问题的解决方法
2014/01/27 PHP
CodeIgniter辅助之第三方类库third_party用法分析
2016/01/20 PHP
PHP+mysql+ajax轻量级聊天室实现方法详解
2016/10/17 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
phpstorm最新激活码分享亲测phpstorm2020.2.3版可用
2020/11/22 PHP
cnblogs csdn 代码运行框实现代码
2009/11/02 Javascript
jQuery EasyUI API 中文文档 - MenuButton菜单按钮使用介绍
2011/10/06 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
2016/07/05 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
jQuery与js实现颜色渐变的方法
2016/12/30 Javascript
BootStrap 弹出层代码
2017/02/09 Javascript
jQuery实现table表格checkbox全选的方法分析
2018/07/04 jQuery
vue实现div拖拽互换位置
2020/07/29 Javascript
javascript中数组的常用算法深入分析
2019/03/12 Javascript
详解iframe跨域的几种常用方法(小结)
2019/04/29 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
对Python协程之异步同步的区别详解
2019/02/19 Python
详解python中的time和datetime的常用方法
2019/07/08 Python
Python实现计算对象的内存大小示例
2019/07/10 Python
Python使用QQ邮箱发送邮件实例与QQ邮箱设置详解
2020/02/18 Python
Python解释器以及PyCharm的安装教程图文详解
2020/02/26 Python
python3让print输出不换行的方法
2020/08/24 Python
TensorFlow2.0使用keras训练模型的实现
2021/02/20 Python
详解canvas绘图时遇到的跨域问题
2018/03/22 HTML / CSS
伊莱克斯(Electrolux)俄罗斯网上商店:瑞典家用电器品牌
2021/01/23 全球购物
在求职信中如何凸显个人优势
2013/10/30 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
乡镇三项教育实施方案
2014/03/30 职场文书
公益广告标语
2014/06/19 职场文书
幼儿园八一建军节活动方案
2014/08/27 职场文书
2016秋季运动会前导词
2015/11/25 职场文书