Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构

简介: Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构

       

首先给大家演示下 zip 文件的解压方法。

import zipfile
def zip_extract_to(path_zip, path_aim):
    '''
     作用:解压压缩包
     参数一:压缩包位置
     参数二:解压后的路径
    '''
    z = zipfile.ZipFile(path_zip, 'r')
    for p in z.namelist():
        z.extract(p, path_aim)
    z.close()
# 要解压的zip文件路径
path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'
# 要解压到的位置
path_aim = r'D:\lizhi\压缩测试'
# 解压压缩包
zip_extract_to(path_zip, path_aim)

效果演示:

这是压缩包之前的样式。

image.png

这是压缩包解压后的样式。

image.png

然后给大家看下 zip 文件的压缩过程,我的压缩方法可以直接压缩文件在当前目录下,并不把自己压缩进来,而且可以保留原来文件夹的目录结构。

import zipfile
import pathlib
def file_to_zip(path_original, path_zip):
    '''
     作用:压缩文件到指定压缩包里
     参数一:压缩文件的位置
     参数二:压缩后的压缩包
    '''
    # 提前读取,避免把压缩包自己加上去
    # 这里用list()做一个克隆提前执行下,不然会在后面循环时才执行这一引用,如果压缩包在这个路径下,会将它读取进来。
    f_list = list(pathlib.Path(path_original).glob("**/*"))
    z = zipfile.ZipFile(path_zip, 'w')
    for f in f_list:
        z.write(f, str(f)[len(path_original):])
    z.close()
# 要压缩文件夹的位置
path_original = r'D:\lizhi\压缩测试'
# 压缩到指定路径下的zip文件
path_zip = r'D:\lizhi\压缩测试\chromedriver_win32.zip'
# 压缩文件
file_to_zip(path_original, path_zip)

我把之前的压缩包删掉了,用那个 driver 文件夹重新进行压缩的,现在看到的是新生成的。

image.png

可以看到里面的结构跟我文件夹、目录的结构是一样的。

image.png

喜欢的点个赞❤吧!


目录
相关文章
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2589 2
|
11月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1834 68
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
382 0
|
Web App开发 数据安全/隐私保护 Python
|
Python
技术| Python的从零开始系列连载(三十一)
大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子。与上一篇不同的是,这次我们需要用到文件的相关操作。
1629 0
|
Web App开发 JSON 大数据
技术 | Python从零开始系列连载(二十八)
之前我水平有限,对于淘宝评论这种动态网页,由于数据在网页源码中是找不到的,所以无法抓取数据,只能使用selenium模仿人操控浏览器来抓数据, 优点是可见容易且不宜被淘宝公司封锁;缺点是速度太慢。 经过今天一天的钻研,终于学会分析数据包,而且淘宝评论的数据包都是以json格式传输的。
2179 0

推荐镜像

更多