1. 解压zip文件

import os
import zipfile
file = r"E:\testdir\test01\icomoon.zip"
z = zipfile.ZipFile(file)
print(z.filename)
print(z.namelist())   # 返回文件名列表
print(z.infolist())  # 返回压缩包中的文件对象列表# 解压单个文件到指定的目录
# 方法一:
z.extract(z.namelist()[1],r'E:\testdir\test01')
z.extract(z.namelist()[2],r'E:\testdir\test01')
z.extract(z.namelist()[3],r'E:\testdir\test01')# 方法二:
data = z.read('selection.json')
with open(r'E:\testdir\test01\icomoon.json','wb') as f:f.write(data)
z.close()

2. 压缩文件

# 给压缩文件中添加文件
file = r"E:\testdir\test01\common.zip"
z = zipfile.ZipFile(file,"w")# arcname代表重命名,路径中的testdir目录就不会在压缩包中出现
z.write(r'E:\testdir\runtask_common.py',arcname='runtask_common.py',compress_type=zipfile.ZIP_DEFLATED)
# z.write(r'E:\testdir\学院.html',arcname='学院.html',compress_type=zipfile.ZIP_DEFLATED)
# z.write(r'E:\testdir\考试结果.html',arcname='考试结果.html',compress_type=zipfile.ZIP_DEFLATED)z.write(r'E:\testdir\runtask_common.py',compress_type=zipfile.ZIP_DEFLATED)
z.write(r'E:\testdir\学院.html',compress_type=zipfile.ZIP_DEFLATED)
z.write(r'E:\testdir\考试结果.html',arcname='考试结果.html',compress_type=zipfile.ZIP_DEFLATED)
z.close()

3.向zip中追加文件

# 向zip文件中追加文件
file = r"E:\testdir\test01\common01.zip"
z = zipfile.ZipFile(file,"a")
z.write(r'E:\testdir\学院.html',compress_type=zipfile.ZIP_DEFLATED)
z.close()

4.解压所有文件到指定的目录

def extractall_file(zip_filename,dst_dir):"""解压所有的文件到指定的目录:param zip_filename: 要解压的压缩包文件路径:param dst_dir: 解压的目录:return:"""z = zipfile.ZipFile(zip_filename)members = [i.encode("cp437").decode("gbk") for i in z.namelist()]print('members:',members)z.extractall(dst_dir)z.close()for dirpath, dirnames, filenames in os.walk(r"E:\testdir\test02"):for i in filenames:os.rename(os.path.join(dirpath,i),os.path.join(dirpath,i.encode("cp437").decode("gbk")))

5.破译一个六位数的zip压缩包密码

def main(zip_filename):"""破译密码,并将文件解压zip_filename: 需要破译的zip文件名:return:"""# 先生成一个6位数的密码文件fs = open('passwd.txt','w')for i in range(1000000):fs.write(f'{i}'.rjust(6,'0')+'\n')fs.close()z = zipfile.ZipFile(zip_filename)ext_path= os.path.dirname(__file__)# z.extractall(r'E:\testdir\test02', pwd='123456'.encode('utf-8'))with open('passwd.txt') as fs:for i in fs:try:z.extractall(ext_path,pwd=f'{i.strip()}'.encode('utf-8'))passwd = ibreakexcept:passprint(f"密码为:{passwd}")z.close()

6.压缩

import zipfile
import osdef yasuo(zippath,path):""":param zippath: 压缩后的压缩包名称:param path: 被压缩的文件路径:return:"""z = zipfile.ZipFile(file=zippath,mode='w',compression=zipfile.ZIP_DEFLATED)for dirpath, dirnames, filenames in os.walk(path):for filename in filenames:# 文件路径res_path = str(os.path.join(dirpath,filename))# arcname的归档路径rename_path = str(os.path.join(dirpath,filename))[len(path)+1:]print(res_path,rename_path)z.write(res_path,arcname=rename_path)z.close()file = r'E:\testdir\test02'
yasuo(r'E:\testdir\laowang.zip', file)

zipfile模块的基本使用相关推荐

  1. python3 zipfile_python3中zipfile模块的常用方法

    一.zipfile模块的简述 zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对zipfile的使用方法做一些记 ...

  2. python3 zipfile模块 zip压缩解压

    一.zipfile模块的简述 zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的, 在这里对zipfile的使用方法做一些记 ...

  3. python zipfile_Python中的zipfile模块使用详解

    zip文件格式是通用的文档压缩标准,在ziplib模块中,使用ZipFile类来操作zip文件,下面具体介绍一下: class zipfile.ZipFile(file[, mode[, compre ...

  4. python zipfile模块 ZIP64

    python自带zipfile模块用来读.写zip文件. def zip_dir(dirname,zipfilename):filelist = []if os.path.isfile(dirname ...

  5. python zip压缩_Python zip压缩与解压(zipfile模块实例)

    python中提供了文件压缩的zipfile模块. zipfile模块() 用于压缩文件成zip及解压zip文件,模块介绍如下. zipfile.ZipFile(file, mode) open a ...

  6. python模块实例化_python中zipfile模块实例化解析

    文章内容由--"脚本之家"--提供,在此感谢脚本之家的贡献,该网站网址为:https://www.jb51.net/ 简介: zipfile是python里用来做zip格式编码的压 ...

  7. 【python】详解zipfile模块读取处理压缩文件实例

    zipfile是python里用来做zip格式编码的压缩和解压缩的,由于是很常见的zip格式,所以这个模块使用频率也是比较高的. zipfile模块常用的一些操作和方法: 一.is_zipfile(f ...

  8. python zipfile模块学习笔记(一)

    ZIP文件格式是一种常见的存档和压缩标准,这个zipfile模块提供了工具来创建.读取.写入.附加和列出一个ZIP文件.使用ZIP64扩展(即压缩文件大小超过4G),它能解压加密的ZIP文件,解密过程 ...

  9. 使用python的zipfile模块巧解word批量生成问题

    使用python的zipfile模块巧解word批量生成问题 任务需求 任务拆解 任务方案 方案一:使用python-docx.Document读取word文档 方案二:zipfile巧解word文档 ...

  10. 文本操作的相关概念和方法+pickle序列化+csv文件操作+操作系统命令(os和os.path)+shutil模块+zipfile模块+递归算法打印目录树

    目录 一.文件操作 1.文本文件和二进制文件 2.文件操作相关模块概述 3.文件文本的写入 4.中文乱码问题的解决 5.close()关闭文件流--try异常管理 6.关闭流要点:_with上下文管理 ...

最新文章

  1. 安振平老师的4911号不等式问题的证明
  2. Nginx安装echo模块
  3. 基于nginx和ffmpeg前端flv.js简单的直播环境搭建(rtmp+http-flv+hls)
  4. mysql bandwidth_内存带宽对mysql影响多大
  5. 数字信号处理学习笔记(一)|离散傅里叶变换
  6. 深入探索.NET框架内部了解CLR如何创建运行时对象
  7. Spring框架之权限管理
  8. PHP中生成UUID
  9. jQuery 缩放 旋转 裁剪图片 Image Cropper
  10. 复合选择器-并集选择器(HTML、CSS)
  11. 显示器色域检测软件_摄影师:手机看图的甲方爸爸值得我换专业摄影显示器吗?...
  12. Python_pycharm调试模式+使用pycharm给python传递参数
  13. C3D行为识别(一):UCF101视频数据集预处理
  14. 分享一个无意间发现的躺赚网络创业小项目!
  15. 云计算激荡十五年:亚马逊云科技的探路者精神
  16. vm连接服务器桌面,Vmware之使用Windows自带的远程桌面连接
  17. 浙江单招单考计算机类本科学校,浙江单考单招能报考哪些大学
  18. 76篇 ICCV 2019 论文实现代码
  19. Android传感器、语音识别、定位系统、Google Map API、快捷方式、widget编程总结及示例...
  20. 【木头Cocos2d-x 026】Lua篇(第01章):让Lua和C++牵手

热门文章

  1. 按键精灵句柄鸡spy++根据类名查找句柄
  2. 函数式编程是如何提升代码的扩展性
  3. uni-app 制作 物流信息 step样式表
  4. 在Fedora中全自动签名英伟达驱动内核模块以支持安全启动(Secure Boot)
  5. 阿里云服务器解析域名,所引起的服务器IP地址无法访问的问题——已解决
  6. 1.4 深入理解Zygote
  7. REVEAL APP FOR IOS 永久试用
  8. 【每日新闻】对抗微软双屏Surface 苹果将推出可折叠iPad
  9. 【专题】深入解析软件测试外包
  10. InteIlij IDE 设置背景图片详细教程