Python——第五章:Zipfile模块
Zipfile模块
zipfile 模块是 Python 中用于处理 ZIP 文件的标准库模块。它提供了创建、读取和写入 ZIP 文件的功能。
zipfile 模块在写入文件时,如果要将文件写入子目录,需要在写入文件前先创建好相应的目录结构。
创建压缩包
在使用 zipfile.ZipFile 写入模式 (mode="w") 时,如果指定的目录不存在,会抛出 FileNotFoundError。因此,在执行上述代码之前,你需要确保 "zip_dir" 目录已经存在。如果目录不存在,可以使用 os.makedirs 来递归创建目录。
import zipfile
import os
# 创建目录结构
zip_dir = "zip_dir"
os.makedirs(zip_dir, exist_ok=True)
# 创建 ZIP 文件
with zipfile.ZipFile("zip_dir/abc.zip", mode="w") as zip_file: # 路径/文件名,模式写
zip_file.write("wf.txt")
zip_file.write("x2.txt")
# 不用with的写法需要手动.close()
f = zipfile.ZipFile("zip_dir/abc.zip", mode="w") # 路径/文件名,模式写
f.write("wf.txt")
f.write("x2.txt")
f.close() # 创建后需要关闭
如何进行解压缩extractall和extract
extractall和extract方法会自动创建目录,所以你不需要提前建好 "zip_dir/abc" 目录。如果该目录不存在,extract 方法会自动创建它,然后将 ZIP 文件中的内容解压到该目录中。
直接全部解压缩extractall
with zipfile.ZipFile("zip_dir/abc.zip", mode="r") as zip_file: # 路径/文件名,模式读
zip_file.extractall("zip_dir/abc") # /abc也是目录
# 不用with的写法不推荐,需要手动.close()
f = zipfile.ZipFile("zip_dir/abc.zip", mode="r") # 路径/文件名,模式读
f.extractall("zip_dir/abc") # /abc也是目录
f.close()
一个一个的解压缩extract
with zipfile.ZipFile("zip_dir/abc.zip", mode="r") as zip_file: # 路径/文件名,模式读
for name in zip_file.namelist():
zip_file.extract(name, "zip_dir/abc") # /abc也是目录
# 不用with的写法不推荐,需要手动.close()
f = zipfile.ZipFile("zip_dir/abc.zip", mode="r") # 路径/文件名,模式读
# 首先我们要用到f.namelist()函数,拿到文件名,然后用for循环去拿去名字执行解压
for name in f.namelist():
f.extract(name, "zip_dir/abc") # /abc也是目录
f.close()
Python——第五章:Zipfile模块的更多相关文章
- Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- 简学Python第五章__模块介绍,常用内置模块
Python第五章__模块介绍,常用内置模块 欢迎加入Linux_Python学习群 群号:478616847 目录: 模块与导入介绍 包的介绍 time &datetime模块 rando ...
- python第五周:模块、标准库
模块相关知识: 定义:用来从逻辑上组织python代码(变量.函数.类.逻辑:实现一个功能)本质就是以.py结尾的python文件(文件名:test.py,对应的模块名:test) 附注:包:是用来从 ...
- python学习笔记之zipfile模块
为什么学习: 在做自动化测试平台的apk上传功能部分时候,涉及到apk上传后提取apk的icon图标,通过aapt解析apk,获取对应icon在apk中的地址,通过python的zipfile模块来解 ...
- Python第五章实验报告
一.实验项目名称:<零基础学Python>第五章实战.实例以及两道作业题 二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用 三.实验环境:IDLE(Python 3.9 6 ...
- 那些年被我坑过的Python——道阻且长(第五章实用模块讲解)
random模块 我的随机验证吗程序: 首先保证了字母和数字出现的概率是50% VS 50%,其次是可以订制输出多少位 def Captcha(size): Captcha_list = [] for ...
- 流畅的python第五章一等函数学习记录
在python中,函数是一等对象,一等对象是满足以下条件的程序实体 1在运行时创建 2能复制给变量或数据结构的元素 3能作为参数传给函数 4能作为函数的返回结果 高阶函数(接受函数作为参数或者把函数作 ...
- Python第五章-内置数据结构05-集合
Python内置数据结构 五.集合(set) python 还提供了另外一种数据类型:set. set用于包含一组无序的不重复对象.所以set中的元素有点像dict的key.这是set与 list的最 ...
- Python第五章-内置数据结构01-字符串
Python 内置的数据结构 到目前为止,我们如果想保存一些数据,只能通过变量.但是如果遇到较多的数据要保存,这个时候时候用变量就变的不太现实. 我们需要能够保存大量数据的类似变量的东东,这种 ...
- Python第五章-内置数据结构04-字典
Python 内置的数据结构 四.字典(dict) 字典也是 python 提供给我们的又一个非常重要且有用的数据结构. 字典在别的语言中有时叫关联数组.关联内存.Map等. 字典中存储的是一系列的k ...
随机推荐
- 两个例子带你入门 Disruptor
Disruptor 是英国外汇交易公司 LMAX 开发的一个高性能队列.很多知名开源项目里,比如 canal .log4j2. storm 都是用了 Disruptor 以提升系统性能 . 这篇文章, ...
- Solution -「洛谷 P4451」「国家集训队」整数的 lqp 拆分
Description Link. 求 \[\sum\prod_{i=1}^{m}F_{a_{i}},(m>0,a_{1},\cdots a_{m}>0,\sum a_{i}=n) \] ...
- Linux——Linux必备的基础知识总结
文章目录 一.Linux操作系统概述 1.发展 2.组成 3.Linux的特性: 二.Linux操作系统安装 1.Linux的选择 2.安装Ubuntu Desktop 3.基本操作 三.Linux文 ...
- 研发提速:nacos+openfeign环境下的本地链接服务
项目研发过程中,经常会遇到与测试人员工作重叠的情况,十分影响效率. 做了一个修改,可以在本地环境启动项目后和测试环境交互,并且不影响测试环境,理论上也可以用于线上环境的异常的快速处理. 准备事项如下: ...
- Background Removal obs
Background Removal / Portrait Segmentation / Virtual Green-screen v0.5.16 Go to download Author roys ...
- 【Unity3D】动态路径特效
1 前言 本文通过导航系统(NavMeshAgent)和线段渲染器(LineRenderer)实现了角色走迷宫和绘制路径功能,同时实现动态路径特效. 导航系统的介绍详见博客:导航系统.分离路面 ...
- 使用 DDPO 在 TRL 中微调 Stable Diffusion 模型
引言 扩散模型 (如 DALL-E 2.Stable Diffusion) 是一类文生图模型,在生成图像 (尤其是有照片级真实感的图像) 方面取得了广泛成功.然而,这些模型生成的图像可能并不总是符合人 ...
- YXの每日挂分记录
7.11 T1 不开两倍数组 100->60. 7.18 T2 dp+矩乘 转移不判边界 100->10. 7.20 T2 人类智慧 1e6 n log n 100->10,求前 5 ...
- Mach-O Inside: 命令行工具集 otool objdump od 与 dwarfdump
1 otool otool 命令行工具用来查看 Mach-O 文件的结构. 1.1 查看文件头 otool -h -v 文件路径 -h选项表明查看 Mach-O 文件头. -v 选项表明将展示的内容进 ...
- openwrt ping: sendto: Network unreachable解决办法
root@OpenWrt:/# ping zhihu.com PING zhihu.com (103.41.167.234): 56 data bytes ping: sendto: Network ...