python压包的概念及实例详解

 更新时间:2021年02月17日 14:45:20   作者:小妮浅浅  
在本篇文章里小编给大家整理的是一篇关于python压包的概念及实例详解内容,有兴趣的朋友们可以参考学习下。

对于一些分解后的元素,我们也是有重新归类的需要。那么我们把解包的恢复过程,叫做压包。这里要用到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+Redis实现布隆过滤器

    Python+Redis实现布隆过滤器

    布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。这篇文章主要介绍了Python+Redis实现布隆过滤器,需要的朋友可以参考下
    2019-12-12
  • 如何在Python中编写接口和请求外部接口

    如何在Python中编写接口和请求外部接口

    这篇文章主要介绍了如何在Python中编写接口和请求外部接口,requests库来请求外部接口,按照请求方法分为get请求和post请求,下面和小编一起进入文章了解更多的具体内容吧
    2022-02-02
  • Python基础学习函数+模块+类

    Python基础学习函数+模块+类

    这篇文章主要介绍了Python基础学习函数+模块+类,这是基础学习的第三篇内容,小编已把前两篇链接放在下面,需要学习的同学可以参考一下
    2022-05-05
  • python装饰器property和setter用法

    python装饰器property和setter用法

    这篇文章主要介绍了python装饰器property和setter用法,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • python实现大量图片重命名

    python实现大量图片重命名

    这篇文章主要为大家详细介绍了python实现大量图片重命名,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • Python中format()格式输出全解

    Python中format()格式输出全解

    这篇文章主要介绍了Python中format()格式输出 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Python中Django的ORM高级用法

    Python中Django的ORM高级用法

    这篇文章主要介绍了Python中Django的ORM高级用法,ORM是一种思想,ORM对象-关系映射,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统,需要的朋友可以参考下
    2023-07-07
  • 关于Python中jieba库的使用

    关于Python中jieba库的使用

    这篇文章主要介绍了关于Python中jieba库的使用,jieba (“结巴”) 是 Python 中一个重要的第三方中文分词函数库,除了分词,jieba 还提供增加自定义中文单词的功能,需要的朋友可以参考下
    2023-04-04
  • Python中强大的函数map filter reduce使用详解

    Python中强大的函数map filter reduce使用详解

    Python是一门功能丰富的编程语言,提供了许多内置函数,以简化各种编程任务,在Python中,map(),filter()和reduce()是一组非常有用的函数,它们允许对可迭代对象进行操作,从而实现数据转换、筛选和累积等操作,本文将详细介绍这三个函数,包括它们的基本用法和示例代码
    2023-11-11
  • Python实现SMTP邮件发送

    Python实现SMTP邮件发送

    这篇文章主要介绍了基于python实现SMTP发送邮件教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-06-06

最新评论