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

Python 3 中常见的压缩与解包操作主要使用内置模块 zipfile(用于 .zip 文件)和 tarfile(用于 .tar、.tar.gz 等)。以下是常用写法示例:
将一个或多个文件打包成 .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>将 .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><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p>使用 tarfile 打包并压缩(常用于 Linux 环境):
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>解压 .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>.zip、.tar、.tar.gz、.tar.bz2 等,根据 mode 选择对应模式。基本上就这些,按需选择合适格式即可。
以上就是python3压缩与解包的代码怎么写?的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号