Python压缩模块zipfile实现原理及用法解析
作者:蓝寅 发布时间:2023-07-13 03:01:46
标签:python,压缩,模块,zipfile
一、python压缩模块简介
python直接通过内置压缩模块可以直接进行压缩文件的创建;
内置模块 zipfile/rarfile 完成压缩文件的操作。
二、 zipfile模块基础使用
2.1 对一个文件进行zip压缩
# 把当前目录的test.txt文件压缩到a.zip压缩包中
import zipfile
f = zipfile.ZipFile('a.zip', 'w', zipfile.ZIP_DEFLATED)
f.write('test.txt')
f.close()
上述代码中:
a.zip是压缩后要保存的文件名
w 表示写入压缩文件的含义
ZIP_DEFLATED表示压缩;ZIP_STORE表示只打包,不压缩(类似Linux中的gz跟tar格式)
write方法:目前填写的参数 test.txt 为当前目录下的文件,它表示要压缩的文件。
2.2 对一个zip压缩文件进行解压缩
# 把当前目录的a.zip压缩包中的test.txt进行解压
import zipfile
f = zipfile.ZipFile('a.zip','r')
f.extract('test.txt')
上述代码中:
a.zip 是当前目前下的压缩包文件,该压缩包目前只压缩了一个 test.txt 文件
extract() 方法的作用就用来进行解压缩,参数填写的是 a.zip 压缩包中必须包含的文件名信息
如果我不知道压缩包中包含了什么文件信息,那就比较麻烦。可以用namelist()方法解决,如下2.3
2.3 对一个zip压缩文件中的所有文件进行解压缩
import zipfile
f = zipfile.ZipFile('a.zip','r')
for file in f.namelist():
f.extract(file,'./temp')
上述代码中:
namelist()方法返回压缩包中包含的所有文件信息,返回值为 list 类型
通过循环的方式把所有都进行解压到 当前目录下的temp目录
来源:https://www.cnblogs.com/dream66/p/12873927.html


猜你喜欢
- 介绍 append()语法list.append( element )参数element:任何类型的元素列表「末尾」添加元素nam
- 前言本文对Python 自动化操作Excel并生成图表,做了详细的分析和说明我们先来看一下python中能操作Excel的常用库对比1.xl
- 目录1、切片的基础用法2、切片的高级用法3、自定义对象实现切片功能3.1、魔术方法:`getitem()`3.2、自定义序列实现切片功能3.
- 前言Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。由于 Tki
- 不得不说python的自制包的相关工具真是多且混乱,什么setuptools,什么distutils,什么wheel,什么egg!!怎么有这
- 引言本人因为种种原因(说来听听),放弃大学学的java,走上了golang这条路,本着干一行爱一行的情怀,做开发嘛,不能只会使用这门语言,所
- 一、if语句if 语句让你能够检查程序的当前状态,并据此采取相应的措施。if语句可应用于列表,以另一种方式处理列表中的大多数元素,以及特定值
- 具体代码如下:Function ASTCreateFtpSite(IPAddress, RootDirectory,&n
- 前言在深度学习训练的过程中,随着网络层数的提升,我们训练的次数,参数都会提高,训练时间相应就会增加,我们今天来了解迁移学习一、经典的卷积神经
- .Net新手通常容易把属性(Property)跟特性(Attribute)搞混,其实这是两种不同的东西属性指的类中封装的数据字段;而特性是对
- 函数的增益值torch.nn.init.calculate_gain(nonlinearity, param=None)提供了对非线性函数增
- mysql更改数据文件的存放路径感觉直接把/etc/my.cnf中的datadir改一下重启一下服务就行,但是从网上搜了n多资料,大部分都是
- Excel 中的每一个单元,都会有这些属性:颜色(colors)、number formatting、字体(fonts)、边界(border
- 先有个一名为student的关系,其字段以及元组如图所示:为了保持数据的一致性,现在需要将sname的多余空格去除,以及将所有的snativ
- 在之前的文章中,我们介绍了PyQt5和PySide2中主窗口控件MainWindow的使用、窗口控件的4中基础布局管理。从本篇开始,我们来了
- mysql分组统计并求出百分比1、mysql 分组统计并列出百分比SELECT point_id,&nb
- 计算信息熵的公式:n是类别数,p(xi)是第i类的概率假设数据集有m行,即m个样本,每一行最后一列为该样本的标签,计算数据集信息熵的代码如下
- 声明,本文中所称CSS雪碧即为CSS Sprites,这个词组一直没有一个固定或者约定俗成的中文翻译,一些人开始称之为CSS雪碧,我们且当作
- 前言CAPTCHA全称Completely Automated Public Turing Test to Tell Computers a
- 一个有点绕的例子,用PyScripter调试器步进跟踪可以看清楚对 象结构的具体细节。对原作改变了一下,在未定义子对象属性时__getite