新闻中心

python3压缩与解包的代码怎么写?

2025-11-28
浏览次数:
返回列表
Python 3 中使用 zipfile 和 tarfile 模块实现压缩与解压:1. 用 zipfile.ZipFile 创建 ZIP 文件并添加文件;2. 调用 extractall 解压 ZIP 到指定目录;3. 使用 tarfile.open("w:gz") 打包为 TAR.GZ;4. 通过 "r:gz" 模式解压 TAR.GZ 文件,支持异常处理与路径安全控制。

python3压缩与解包的代码怎么写?

Python 3 中常见的压缩与解包操作主要使用内置模块 zipfile(用于 .zip 文件)和 tarfile(用于 .tar、.tar.gz 等)。以下是常用写法示例:

1. 压缩文件(ZIP 格式)

将一个或多个文件打包成 .zip 文件:

import zipfile
import os
<p>def zip_files(zip_name, file_list):
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zipf:
for file in file_list:
if os.path.exists(file):
zipf.write(file, arcname=os.path.basename(file))  # 只保存文件名,不包含路径
else:
print(f"文件不存在:{file}")</p><h1>示例:压缩两个文件</h1><p>files = ['file1.txt', 'file2.txt']
zip_files('output.zip', files)</p>

2. 解压 ZIP 文件

将 .zip 文件解压到指定目录:

import zipfile
<p>def unzip_file(zip_path, extract_to):
with zipfile.ZipFile(zip_path, 'r') as zipf:
zipf.extractall(extract_to)
print(f"已解压到:{extract_to}")</p><h1>示例:解压到 ./extracted/</h1><p>unzip_file('output.zip', './extracted/')</p>

3. 压缩为 TAR.GZ 格式

使用 tarfile 打包并压缩(常用于 Linux 环境):

N世界 N世界

一分钟搭建会展元宇宙

N世界 138 查看详情 N世界
import tarfile
import os
<p>def make_tar_gz(output_filename, sources):
with tarfile.open(output_filename, "w:gz") as tar:
for src in sources:
if os.path.exists(src):
tar.add(src, arcname=os.path.basename(src))
else:
print(f"路径不存在:{src}")</p><h1>示例:打包两个文件为 compressed.tar.gz</h1><p>make_tar_gz("compressed.tar.gz", ["file1.txt", "file2.txt"])</p>

4. 解压 TAR.GZ 文件

解压 .tar.gz 文件:

import tarfile
<p>def extract_tar_gz(tar_path, extract_to):
with tarfile.open(tar_path, "r:gz") as tar:
tar.extractall(path=extract_to)
print(f"已解压到:{extract_to}")</p><h1>示例</h1><p>extract_tar_gz("compressed.tar.gz", "./extracted/")</p>

补充说明

  • 压缩时注意路径安全,避免绝对路径泄露目录结构。
  • 可添加异常处理(try-except)增强健壮性。
  • 支持的格式:.zip.tar.tar.gz.tar.bz2 等,根据 mode 选择对应模式。

基本上就这些,按需选择合适格式即可。

以上就是python3压缩与解包的代码怎么写?的详细内容,更多请关注其它相关文章!


# 浏览过  # 开发商营销推广方案  # 富县做网站优化的公司  # seo优化营销有哪些  # seo 快速排名 上首页  # 莱芜模板网站建设公司  # 营销模式和推广模式  # 购物网站推广计划方案  # 湖北会计网站建设论文  # 优化网站内部链接  # 全国网站优化企业  # 不包含  # linux  # 大家都在  # 查看详情  # 压缩文件  # 解决问题  # 中文网  # 相关文章  # 多个  # 不存在  # 解压  # python 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 谷歌推RCS信息存档功能:公司可监控员工私密信息!  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  如何在CSS中使用浮动制作导航栏_float实现水平菜单  使用J*aScript检测输入元素是否包含在特定类中  如何使用Node.js csv 包按条件移除含空字段的CSV记录  解决Python单元测试中Mock异常方法调用计数为零的问题  微信聊天记录怎么加密_微信聊天记录加密方法  如何使用spryker/configurable-bundles-products-resource-relationship模块解决复杂产品捆绑关系难题  EMS快递官网app_中国邮政速递物流手机客户端  小米14应用无法联网原因分析_小米14网络权限修复  css链接悬停下划线样式如何自定义_使用::after结合content和transition  Python多版本共存与虚拟环境管理深度指南  Golang切片为何属于引用类型_Golang slice底层结构与引用语义说明  高德地图公交到站提醒失败如何解决 高德提醒权限设置  响应式CSS Grid布局:优化网格项在小屏幕下的堆叠与宽度适配  拼多多购物车商品数量无法修改如何处理 拼多多购物车操作优化方法  漫蛙官网正版漫画入口 漫蛙2官方网页登录地址  押井守高度称赞《辐射4》:玩了八年都停不下来!  品牌机怎么重装系统 联想/戴尔/惠普笔记本恢复出厂系统教程  微博网页版首页入口 微博电脑端官网登录链接  苹果手机指南针不准怎么校准 传感器校准方法详解【建议收藏】  小红书怎么解除第三方平台绑定_小红书多平台登录解绑方法介绍  Spring Boot嵌入式服务器与J*a EE:功能支持深度解析  Word2013如何插入视频和音频媒体_Word2013媒体插入的多媒体支持  NRF24L01数据传输深度解析:解决大载荷接收异常与分包策略  Win11如何开启讲述人功能 Win11屏幕阅读器(讲述人)开启与关闭【教程】  Sublime Text怎么设置垂直标尺_Sublime配置Rulers规范代码长度  “音游” × “怪文书” 题材的节奏冒险游戏 《晕晕电波症候群》确定于2026年4月发售!  拼多多视频播放卡顿如何处理 拼多多视频播放优化技巧  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  NVIDIA股价11月重挫12%:下月有望好转 但难回5万亿美元巅峰  Go Martini框架:动态服务解码后的图片内容  C++20的source_location是什么_C++在编译期获取源码位置信息用于日志和断言  Go语言中高效处理x-www-form-urlencoded表单数据  单12V-2&#215;6实现为RTX 5090供电750W!甚至都没敢跑分  《刺客信条4:黑旗》重制版新细节曝光:无缝加载 地图更细致!  J*a里如何使用N*igableMap进行导航操作_可导航Map操作技巧解析  Angular中单选按钮的正确使用与常见陷阱解析  J*aScript类型检查_j*ascript代码规范  QQ邮箱网页版快速登录 QQ邮箱邮箱账号官方入口地址  QQ邮箱官网登录入口 QQ邮箱网页版邮箱快速登录  顺丰国际快递查询 国际件官方查询入口  C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责  中兴Axon42Ultra怎样在文件App筛图_iPhone中兴Axon42Ultra文件App筛图【图片筛选】  J*a里如何实现订单支付与库存同步功能_支付库存同步项目开发方法说明  Vue.js 图片显示异常排查:理解应用挂载范围与DOM ID唯一性  Go语言JSON解析深度指南:动态访问与结构体映射实践  Windows10怎么开启夜间模式 Windows10系统设置调整色温与亮度缓解夜间用眼疲劳【教程】  正确连接J*aScript到HTML实现可点击图片与自定义事件处理  HTML空白字符处理机制:渲染、DOM与编码实践 

搜索