前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python 技术篇-用zipfile库进行zip文件的压缩与解压实例演示,python压缩本地文件夹为zip文件并保留目录结构

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

作者头像
小蓝枣
发布2021-12-01 10:44:47
1.5K0
发布2021-12-01 10:44:47
举报
文章被收录于专栏:CSDN博客专家-小蓝枣的博客

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

代码语言:javascript
复制
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)

效果演示: 这是压缩包之前的样式。

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

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

代码语言:javascript
复制
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 文件夹重新进行压缩的,现在看到的是新生成的。

在这里插入图片描述
在这里插入图片描述

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

在这里插入图片描述
在这里插入图片描述

喜欢的点个赞❤吧!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021/01/21 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档