当前位置: 首页 > news >正文

Python 将文件夹中的所有文件打包成Zip压缩包

🤟致敬读者

  • 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉

📘博主相关

  • 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息

文章目录

  • Python 将文件夹中的所有文件打包成Zip压缩包
    • 1. 需要引入的库
    • 2. 创建文件夹
    • 3. 实例代码
    • 4. 执行代码
    • 5. 查看压缩文件


📃文章前言

  • 🔷文章均为学习工作中整理的笔记。
  • 🔶如有错误请指正,共同学习进步。

Python 将文件夹中的所有文件打包成Zip压缩包

正常情况下我们只需要鼠标右键选择压缩工具将文件或文件夹压缩或者解压即可
但如果是使用自动化工具过程中需要将某些现有或生成的文件夹打包(或者再继续进行其他操作)时,可通过下列示例代码进行操作

1. 需要引入的库

压缩需要引入的内容如下

# 可选,用于打印时间戳
import datetime
# 系统路径等获取
import os
# 压缩文件的库
import zipfile

2. 创建文件夹

在本地创建一个需要压缩的文件夹,并在其中创建一个子文件夹和一个文件,如下
创建文件夹TEST1并在其下创建文件夹test1和文件test2.txt
在这里插入图片描述
在TEST1文件夹同级创建TEST2ZIP文件夹,用于存放压缩后的zip文件
在这里插入图片描述

3. 实例代码

示例代码如下
zip_test.py

import datetime
import os
import zipfile
# 将指定文件夹打包为 zip 文件
def zip_folder(folder_path, output_path):# folder_path: 要打包的文件夹路径# output_path: 输出的 zip 文件路径# 创建 zip 文件with zipfile.ZipFile(output_path, 'w', zipfile.ZIP_DEFLATED) as zip_file:# 遍历文件夹for root, dirs, files in os.walk(folder_path):for file in files:# 获取文件绝对路径file_path = os.path.join(root, file)# 获取文件在zip文件中的相对路径reletive_path = os.path.relpath(file_path, folder_path)# 添加文件到zip文件中zip_file.write(file_path, os.path.relpath(file_path, folder_path))if __name__ == "__main__":# 获取当前时间datetimestr = datetime.datetime.now().strftime("%Y%m%d%H%M%S")print(datetimestr)# 需要压缩的文件夹路径folder_path = r'D:\重载\TEST1'# 输出的zip文件路径output_path = r'D:\重载\TEST2ZIP\TEST1.zip'zip_folder(folder_path, output_path)

4. 执行代码

在代码文件所在路径位置输入cmd打开命令提示符窗口
在这里插入图片描述
输入以下命令并回车

py zip_test.py

在这里插入图片描述

执行完成输出如下
在这里插入图片描述

5. 查看压缩文件

查看TEST2ZIP文件夹下是否已经有生成的zip文件
在这里插入图片描述
已经存在,此时右键并解压缩,验证内容是否一致
在这里插入图片描述
解压后出现了文件并未出现文件夹,因为上述代码中对空文件夹不做压缩,只有文件夹中有文件才会压缩


📜文末寄语

  • 🟠关注我,获取更多内容。
  • 🟡技术动态、实战教程、问题解决方案等内容持续更新中。
  • 🟢《全栈知识库》技术交流和分享社区,集结全栈各领域开发者,期待你的加入。
  • 🔵​加入开发者的《专属社群》,分享交流,技术之路不再孤独,一起变强。
  • 🟣点击下方名片获取更多内容🍭🍭🍭👇

http://www.lryc.cn/news/575693.html

相关文章:

  • easyExcel导入多sheet的Excel,存在合并单元格、列不固定的情况
  • 超实用AI工具分享——ViiTor AI视频配音功能教程(附图文)
  • html 照片环 - 图片的动态3D环绕
  • 渗透实战:使用隐式转换覆盖toString的反射型xss
  • Linux 统一方式安装多版本 JDK 指南
  • python基于协同过滤的动漫推荐系统
  • CSP-J 2021 入门级 第一轮(初赛) 阅读程序(1)
  • CSMA/CD相关习题---谢希仁课后题
  • 数据分享:医学数据集-糖尿病数据集
  • Git 使用规范与命令使用场景详解
  • 与 AI 聊天更顺畅:cat_code.py
  • MIT 6.824学习心得(1) 浅谈分布式系统概论与MapReduce
  • 【全志V821_FoxPi】3-2 Linux 5.4 SPI + XPT2046触摸(ADS7846) + tslib
  • 基于SpringBoot和Leaflet的区域冲突可视化-以伊以冲突为例
  • 重定向攻击与防御
  • 构建可无限扩展的系统:基于 FreeMarker + 存储过程 + Spring Boot 的元数据驱动架构设计
  • aws(学习笔记第四十七课) codepipeline-docker-build
  • [3D-portfolio] 版块包装高阶组件(封装到HOC) | Email表单逻辑 | 链式调用
  • 微服务分布式事务解决方案
  • 数据结构进阶 第七章 图(Graph)
  • 当ERP不再“一刀切“:ERP定制开发如何重塑企业数字神经
  • Charles抓包工具深度解析:从原理到实践的网络数据透视艺术
  • 利用云效实现自动化部署gitee仓库中的项目
  • Tailwind CSS 重用样式
  • 如果你在为理解RDA、PCA 和 PCoA而烦恼,不妨来看看丨TomatoSCI分析日记
  • 临床试验项目管理:高效推进新疗法上市
  • EXILIUM×亚矩云手机:重构Web3虚拟生存法则,开启多端跨链元宇宙自由征途
  • 用 Spark 优化亿级用户画像计算:Delta Lake 增量更新策略详解
  • Mac电脑如何搭建基于java后端的开发的各种工具服务
  • Ubuntu 下降 Linux Kernel 的版本备忘