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从网络读取图片并直接进行处理的方法
May 22 Python
python协程用法实例分析
Jun 04 Python
Django objects.all()、objects.get()与objects.filter()之间的区别介绍
Jun 12 Python
Python之str操作方法(详解)
Jun 19 Python
Python构建XML树结构的方法示例
Jun 30 Python
python实现树形打印目录结构
Mar 29 Python
使用anaconda的pip安装第三方python包的操作步骤
Jun 11 Python
python+logging+yaml实现日志分割
Jul 22 Python
Cython编译python为so 代码加密示例
Dec 23 Python
配置python的编程环境之Anaconda + VSCode的教程
Mar 29 Python
django rest framework serializer返回时间自动格式化方法
Mar 31 Python
如何在scrapy中捕获并处理各种异常
Sep 28 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
业余方法DIY电子管FM收音机
2021/03/02 无线电
JAVA/JSP学习系列之四
2006/10/09 PHP
PHP捕获Fatal error错误的方法
2014/06/11 PHP
php循环table实现一行两列显示的方法
2015/06/04 PHP
Joomla数据库操作之JFactory::getDBO用法
2016/05/05 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
thinkphp 中的volist标签在ajax操作中的特殊性(推荐)
2018/01/15 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
破解Session cookie的方法
2006/07/28 Javascript
js实现基于正则表达式的轻量提示插件
2015/08/29 Javascript
JS实现兼容各种浏览器的高级拖动方法完整实例【测试可用】
2016/06/21 Javascript
详解AngularJs中$sce与$sceDelegate上下文转义服务
2016/09/21 Javascript
Bootstrap基本插件学习笔记之轮播幻灯片(23)
2016/12/08 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
Angular4 中内置指令的基本用法
2017/07/31 Javascript
react-native ListView下拉刷新上拉加载实现代码
2017/08/03 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
vue实现分页栏效果
2019/06/28 Javascript
微信小程序在ios下Echarts图表不能滑动的问题解决
2019/07/10 Javascript
在Python的Flask框架下使用sqlalchemy库的简单教程
2015/04/09 Python
Python中random模块用法实例分析
2015/05/19 Python
Python编程把二叉树打印成多行代码
2018/01/04 Python
Tensorflow中使用tfrecord方式读取数据的方法
2018/06/19 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
Python实现多属性排序的方法
2018/12/05 Python
详解用Python为直方图绘制拟合曲线的两种方法
2019/08/21 Python
解决Tensorflow sess.run导致的内存溢出问题
2020/02/05 Python
Selenium结合BeautifulSoup4编写简单的python爬虫
2020/11/06 Python
函数只定义了一次, 调用了一次, 但编译器提示非法重定义了-什么问题?
2014/10/03 面试题
营业员个人总结的自我评价
2013/10/25 职场文书
店长岗位职责
2013/11/21 职场文书
你懂得怎么写自荐信吗?
2013/12/27 职场文书
学生鉴定评语大全
2014/05/05 职场文书
青春奉献演讲稿
2014/05/08 职场文书
使用Navicat Premium工具将oracle数据库迁移到MySQL
2021/05/27 Oracle
解决IIS7下无法绑定https主机的问题
2022/04/29 Servers