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中使用SQLite的简单教程
Apr 29 Python
Django中实现点击图片链接强制直接下载的方法
May 14 Python
用python做一个搜索引擎(Pylucene)的实例代码
Jul 05 Python
Python实现获取照片拍摄日期并重命名的方法
Sep 30 Python
python smtplib发送带附件邮件小程序
May 22 Python
Python中__slots__属性介绍与基本使用方法
Sep 05 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
Selenium+Python 自动化操控登录界面实例(有简单验证码图片校验)
Jun 28 Python
Django使用中间件解决前后端同源策略问题
Sep 02 Python
Python +Selenium解决图片验证码登录或注册问题(推荐)
Feb 09 Python
Python多线程正确用法实例解析
May 30 Python
基于Django快速集成Echarts代码示例
Dec 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
通过html表格发电子邮件
2006/10/09 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
PHP 杂谈《重构-改善既有代码的设计》之三 重新组织数据
2012/04/09 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
php中final关键字用法分析
2016/12/07 PHP
PHP观察者模式原理与简单实现方法示例
2017/08/25 PHP
js escape,unescape解决中文乱码问题的方法
2010/05/26 Javascript
JQuery 1.6发布 性能提升,同时包含大量破坏性变更
2011/05/10 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
jQuery使用DataTable实现删除数据后重新加载功能
2017/02/27 Javascript
jQuery Validate表单验证插件实现代码
2017/06/08 jQuery
angular2 ng2 @input和@output理解及示例
2017/10/10 Javascript
vue修改对象的属性值后页面不重新渲染的实例
2018/08/09 Javascript
webpack多入口多出口的实现方法
2018/08/17 Javascript
JavaScript实现单图片上传并预览功能
2019/09/30 Javascript
vue实现购物车的小练习
2020/12/21 Vue.js
详解使用pymysql在python中对mysql的增删改查操作(综合)
2017/01/18 Python
python操作oracle的完整教程分享
2018/01/30 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
python实现百度语音识别api
2018/04/10 Python
基于pip install django失败时的解决方法
2018/06/12 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
Python进阶:生成器 懒人版本的迭代器详解
2019/06/29 Python
Keras使用ImageNet上预训练的模型方式
2020/05/23 Python
python爬取代理IP并进行有效的IP测试实现
2020/10/09 Python
彻底解决pip下载pytorch慢的问题方法
2021/03/01 Python
老海军美国官网:Old Navy
2016/09/05 全球购物
自动化专业职业生涯规划书范文
2014/01/16 职场文书
远程研修随笔感言
2014/02/10 职场文书
《云雀的心愿》教学反思
2014/02/25 职场文书
停车场管理协议书范本
2014/10/08 职场文书
委托公证书样本
2015/01/23 职场文书
掌握这项技巧,一年阅读300本书不是梦
2019/09/12 职场文书
如何通过cmd 连接阿里云服务器
2022/04/18 Servers