python3压缩和解压文件总结(python经典编程案例)

简介: 这篇文章总结了在Python 3中使用不同库对文件进行压缩和解压的方法,包括tar、7z、zip和gzip格式的操作示例。

1、tar压缩和解压

import tarfile
from pathlib import PurePath
path = PurePath(".") / "test"

zip_path = path / "123.tar.gz"
file_path = path / "123.txt"

# 压缩
# w:gz 写入代表gz压缩,还有其他用法
with tarfile.open(zip_path, "w:gz") as tar:
    tar.add(file_path, arcname=file_path.name)

# 解压
with tarfile.open(zip_path, "r:gz") as tar:
    tar.extractall(path / "1123")

2、7z压缩和解压

import py7zr  # 需要先安装:pip install py7zr
import os
from pathlib import Path

path = Path(".") / "test"
zip_path = path / "123.7z"
file_path = path / "123.txt"

# 压缩
with py7zr.SevenZipFile(zip_path, 'w') as z:
    z.writeall(file_path, arcname=os.path.basename(file_path))

# 解压
with py7zr.SevenZipFile(zip_path, mode='r') as z:
    z.extractall()

3、zip写入压缩和解压

from zipfile import ZipFile
from pathlib import PurePath

path = PurePath(".") / "test"

zip_path = path / "123.zip"
file_path = path / "123.txt"

# 这里的mode, w是写入,r是读取, a是追加
# write写入的是文件的路径
with ZipFile(zip_path, "w") as f:
    f.write(file_path)  # 注意这里写入的文件的路径会和file_path保持一致
    # 建议用下面这一步
    f.write(file_path, arcname=file_path.name)  # file_path.name等同于os.path.basename

# 解压文件
with ZipFile(zip_path, "r") as f:
    print(f.namelist())  # 打印压缩包里的文件
    f.extractall('out_path')  # out_path解压位置

4、gzip写入压缩和解压

import gzip
# 写
filepath = f"file.txt.gz"
content = "Hello World"
with gzip.open(filepath, 'wt') as f:
    f.write(content)

# 读
with gzip.open(filepath, 'rt') as f:
    content_read = f.read()
print(content_read)
相关文章
|
6月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
1642 2
|
5月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1074 68
|
5月前
|
数据采集 监控 数据库
Python异步编程实战:爬虫案例
🌟 蒋星熠Jaxonic,代码为舟的星际旅人。从回调地狱到async/await协程天堂,亲历Python异步编程演进。分享高性能爬虫、数据库异步操作、限流监控等实战经验,助你驾驭并发,在二进制星河中谱写极客诗篇。
Python异步编程实战:爬虫案例
|
6月前
|
设计模式 缓存 运维
Python装饰器实战场景解析:从原理到应用的10个经典案例
Python装饰器是函数式编程的精华,通过10个实战场景,从日志记录、权限验证到插件系统,全面解析其应用。掌握装饰器,让代码更优雅、灵活,提升开发效率。
475 0
|
7月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
255 0
|
6月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
963 102
|
6月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
429 104
|
6月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
335 103
|
6月前
|
机器学习/深度学习 人工智能 数据挖掘
Python:现代编程的首选语言
Python:现代编程的首选语言
277 82

推荐镜像

更多