Zipfile学习笔记(一):通过zipfile模块实现文件的压缩和解压

简介: 使用Python的zipfile模块来实现文件的压缩和解压,通过具体代码示例展示了压缩和解压的过程。

1.具体代码

import os
import zipfile

def zip_file(dir_path):
    dir_name=os.path.split(dir_path)[1]
    with zipfile.ZipFile(dir_path + ".zip", "w", zipfile.ZIP_DEFLATED) as zfile:
        for iter_dir_path, dirs, files in os.walk(dir_path):
            for file in files:
                fpath = os.path.join(iter_dir_path, file)
                zfile.write(fpath)
    print('压缩文件完成,文件名为:{}'.format(dir_name+'.zip'))
    print('压缩文件完成,文件路径为:{}'.format(dir_path + '.zip'))

def unzip_file(zip_file, target_dir):
    dir_name = os.path.split(target_dir)[1]
    with zipfile.ZipFile(zip_file, "r") as zfile:
        for file in zfile.namelist():
            zfile.extract(file, target_dir)
    print('解压文件完成,文件名为:{}'.format(dir_name))
    print('解压文件完成,文件路径为:{}'.format(target_dir))

# file_path='D:/pycharm/match/yuv_view'
# zip_file(file_path)
unzip_file('yuv_view.zip', 'D:/pycharm/match/yuv_view')

2.运行结果

压缩操作,运行定义的zip_file函数可以完成压缩操作,如下图
在这里插入图片描述
在这里插入图片描述
从9.9MB压缩至6.1MB。

解压操作运行如下
在这里插入图片描述
在这里插入图片描述

目录
相关文章
|
Arthas 测试技术
Arthas排查生产环境CPU飚高问题
Arthas排查生产环境CPU飚高问题
300 0
Arthas排查生产环境CPU飚高问题
|
关系型数据库 MySQL 应用服务中间件
Docker容器常用命令大全:熟练掌握使容器优化更加高效
Docker容器常用命令大全:熟练掌握使容器优化更加高效
752 0
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
SQL Oracle 关系型数据库
Oracle 备份恢复再也不用头疼了
Oracle 备份恢复再也不用头疼了
295 0
|
数据处理 API 索引
【Python】已解决:AttributeError: ‘Series‘ object has no attribute ‘sortlevel‘
【Python】已解决:AttributeError: ‘Series‘ object has no attribute ‘sortlevel‘
370 4
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
小功能⭐️Unity动态更改 Scripting Define Symbols (宏定义)
|
运维 Serverless 数据库
如何使用zipfile模块解压zip文件并返回解压后的结果
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
191 8
|
大数据 Python
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
【5月更文挑战第20天】本文介绍了使用Python的pandas库优化DataFrame内存管理的六个技巧:1) 查看DataFrame内存占用;2) 使用高效数据类型,如`category`和`int32`;3) 仅读取需要的列;4) 分块处理大数据集;5) 利用`inplace`参数节省内存;6) 使用`eval()`和`query()`进行快速筛选。这些方法有助于处理大型数据集时提高效率。
551 3
【Python DataFrame专栏】DataFrame内存管理与优化:大型数据集处理技巧
|
开发者 Python
Flask的一种启动方式和三种托管方式
本文介绍了 Flask 的四种启动方法:原生启动、gevent 启动、tornado 启动以及 waitress 启动。每种启动方法都有其优点和适用场景,除本文四种启动方式外,Flask还支持其他很多种启动方式和托管方式,开发者可以根据自己的需求进行选择。
921 1
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
622 0