首页 > 编程语言 >Python 操作压缩文件

Python 操作压缩文件

时间:2022-11-25 14:07:48浏览次数:37  
标签:ZIP Python zipfile zf ZipFile 压缩文件 操作


Python 操作压缩文件_压缩文件

    我们经常使用压缩程序对文件进行压缩打包,在 Python 中也提供了相应的 zipfile 模块方便我们对 ZIP 压缩文件进行操作。


读取 ZIP 压缩文件

Python 操作压缩文件_字符串_02


    读取 ZIP 压缩文件必须先创建 ​​ZipFile​​​ 对象,通过调用 ​​zipfile.ZipFile()​​​ 函数,传入 ZIP 文件名字符串就能获取到此 ​​ZipFile​​​ 对象, ​​ZipFile​​​ 对象与 ​​File​​​ 对象类似,使用后需要调用 ​​close()​​​ 函数关闭 ZIP 文件。使用 ​​ZipFile​​​ 对象的 ​​namelist()​​​ 方法可以返回 ZIP 文件中包含的所有文件夹和文件字符串列表。使用 ​​ZipFile​​​ 对象的 ​​getinfo()​​​ 方法可以传入 ZIP 里存在文件的字符串获取此文件的 ​​ZipInfo​​​ 对象,可以再通过调用 ​​file_size​​​ 获取文件压缩前的大小或调用 ​​compress_size​​​ 获取文件压缩后的大小。通过计算 ​​file_size / compress_size​​ 就能获取到文件的压缩效率。


>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\Python.zip')
>>> zf.namelist()
['Python/', 'Python/day01/', 'Python/day01/python01.py', 'Python/day01/python02.py', 'Python/readme.txt']
>>> readmeInfo = zf.getinfo('Python/readme.txt')
>>> readmeInfo.file_size
9239
>>> readmeInfo.compress_size
4348
>>> readmeInfo.file_size / readmeInfo.compress_size
2.124885004599816
>>> zf.close()



ZIP 压缩文件解压

Python 操作压缩文件_字符串_02


    使用 ​​extractall()​​​ 函数,可以将 ZIP 压缩文件的所有内容解压到指定路径下。使用 ​​extract()​​ 函数,可以将 ZIP 压缩文件中的指定文件解压到指定路径下,函数返回解压后文件的绝对路径。


>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\Python.zip')
>>> zf.extractall('C:\\zipTestAll')
>>> zf.extract('Python/readme.txt', 'C:\\zipTest')
'C:\\zipTest\\Python\\readme.txt'
>>> zf.close()



创建 ZIP 压缩文件

Python 操作压缩文件_字符串_02


    创建 ZIP 压缩文件必须以写模式打开 ​​ZipFile​​​ 对象, ​​ZipFile()​​​ 第一个参数为创建的压缩文件文件名,第二个参数为打开此文件的模式,即写模式 ​​'w'​​​ 。使用 ​​write()​​ 方法将文件写入压缩文件里,第一个参数为要写入文件的文件名字符串,第二个参数为压缩算法。


>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\new.zip', 'w')
>>> zf.write('C:\\Users\\Caizi\\zipcreate.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> zf.close()



添加文件到 ZIP 压缩文件

Python 操作压缩文件_字符串_02


    添加文件到 ZIP 压缩文件与创建 ZIP 压缩文件方法相似,只不过在打开 ​​ZipFile​​​ 对象时要以追加模式打开,即 ​​ZipFile()​​​ 第二个参数设为 ​​'a'​​ 。


>>> import zipfile
>>> zf = zipfile.ZipFile('C:\\Users\\Caizi\\new.zip', 'a')
>>> zf.write('C:\\Users\\Caizi\\zipadd.txt', compress_type=zipfile.ZIP_DEFLATED)
>>> zf.close()



标签:ZIP,Python,zipfile,zf,ZipFile,压缩文件,操作
From: https://blog.51cto.com/u_15891283/5886617

相关文章

  • Python 文件路径
    获取主目录提到文件路径问题,不得不先提一下不同操作系统上文件夹之间的分隔符。在Windows操作系统上,路径的写法采用的是 \ 反斜杠。而在macOS和Linux操作系统上,路径......
  • 使用 Python 组织文件
        在 Python 中, shutil 模块还提供了一系列对文件和文件集合的高级操作。特别是提供了一些支持文件拷贝和删除的函数。下面介绍一些组织文件常用操作。复制文件 ......
  • Python入门(9)——函数
    函数是带名字的代码块,用于完成特定的任务,当在程序中多次执行同一任务时,无需反复编写重复的代码块,只需调用执行该任务的函数即可。函数的声明    在Python中使用 def ......
  • Python入门(10)——类
    在Python中,一切都是对象,对象是类的实例,类是对象的蓝图和模板。类是一个抽象的概念,对象是一个类具体的实例。每个对象都有属性和行为,它们都是独一无二的,而且对象一定属于某个......
  • Python入门(8)——集合
    集合的创建    集合是由不重复元素组成的无序容器。创建集合用 {} 大括号或 set() 函数。注意,创建空集合只能用 set() ,不能用 {} , {} 创建的是空字典。......
  • 最全的Python海龟绘图总结
    在Python中使用海龟绘图,需要导入相应的模块,那么什么是模块呢?逻辑上来说模块就是一组功能的组合;实质上一个模块就是一个包含了python定义和声明的文件,文件名就是模块名字加上......
  • Python入门(7)——元组与字典
    元组元组的定义    不可修改的列表称为元组。元组定义与列表定义的区别在于列表使用 [] 标识,而元组使用 () 标识。严格地说,元组是由逗号 , 标识的,圆括号只是让......
  • Python入门(5)——分支与循环
    使用功能更强大的IDEPyCharm是一款功能强大的Python编辑器,具有跨平台性。学习分支语句及循环语句,为了我们调试方便,我们后期选择使用PyCharm,PyCharm可以直接到官网下载......
  • Python入门(6)——列表
    列表的定义列表是由一系列按特定顺序排列的元素组成。列表可以包含不同类型的元素。列表内元素的值可以重复。列表通常用单词名称的复数表示。列表用方括号 [] 表示,元素......
  • Python入门(3)——基本数据类型及运算符
    常见的几种基本数据类型python是弱类型语言,相对于强类型语言,它不需要声明变量的类型。在Python中一切都是对象。可以使用id()函数查看此对象的id。Python中的数据类型很多,而......