如何批量解压指定文件夹下的压缩包

文章讲述了如何使用Python的os和zipfile模块遍历两层文件结构,识别.zip文件并逐个解压的过程,强调了os.listdir和ZipFile功能以及extractall与extract的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,代码如下:

import os
import zipfile
main_file = "D:\python视频\爬虫"
path = os.chdir(main_file)
for file in os.listdir(path):
    child_file = f"{main_file}"+"\\"+file
    second_file = os.listdir(child_file)
    for zip_file in second_file:
        if zip_file.endswith(".zip"):
            third_file = child_file+"\\"+zip_file
            zip_file = zipfile.ZipFile(third_file)
            with zipfile.ZipFile(third_file, "r") as zipobj:
                zipobj.extractall(child_file)
        else:
            continue

此处相当于我有两层文件夹,第一层文件夹存放了多个文件夹,二层文件夹下包含多个 `zip` 后缀的压缩包(需要被处理的对象),使用 os 模块下的 os.chdir 进行切换目录,到达指定目录(即二层目录)后对文件夹下的文件的后缀名进行判断,是 zip 则进入循环,而 zipfile.ZipFile(压缩包名) 中的压缩包名需要填写要被解压的文件,所以进行拼接,接下来相当于一个固定用法,之所以用 extractall 而不用 extract ,是因为使用 extract 需要指定解压文件存放的地址,而extractall 则直接解压到原地址(根据自己需求选择即可)。

如有描述不清楚或不懂的,可以在评论区进行讨论。

感谢观看。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值