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。

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

目录
相关文章
|
前端开发 算法 API
直接在前端做 zip 压缩/解压
前段时间研究前端是如何解析 excel 表格的时候了解到 jszip 这个库,可以直接在前端对 zip 包进行压缩和解压缩,今天稍微水一篇。
|
4月前
|
运维 Serverless 数据库
如何使用zipfile模块解压zip文件并返回解压后的结果
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
|
5月前
|
Java
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
Java将指定文件/文件夹压缩成zip、rar压缩文件--解決中文乱码
139 0
Java实现zip文件压缩:单个文件、文件夹以及文件和文件夹的压缩
Java实现zip文件压缩:单个文件、文件夹以及文件和文件夹的压缩
|
算法
ZIP和RAR文件的不同
生活中我们经常需要使用电脑与朋友之间的文件传送,但往往会受到文件大小的限制而无法发出去,此时需要将文件压缩后再发送,那么有小伙伴会问rar和zip又有什么区别?
547 0
ZIP和RAR文件的不同
|
Python
Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构
Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构
356 0
Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构