Python解压zip

📈 itertools

itertools是一个Python模块,提供了各种用于创建迭代器以进行高效循环和数据操作的函数。它包括用于生成排列、组合和带替换的组合的函数,以及用各种方式迭代可迭代对象的函数。这是一个用于处理Python中可迭代数据结构的强大工具。

📈 zipfile

zipfile模块是Python中用于处理ZIP文件的标准工具。它允许你创建、读取以及修改ZIP文件,还可以从ZIP文件中提取数据。zipfile模块提供了一些类和函数,使得在Python中处理ZIP文件变得非常方便。你可以使用它来压缩文件、解压缩文件,或者在程序中对ZIP文件进行操作。以下是zipfile模块中一些常用的类和函数:

  • ZipFile类:用于创建、读取和修改ZIP文件。
  • ZipInfo类:包含ZIP文件中每个文件的元数据信息。
  • zipfile.open()函数:用于在ZIP文件中打开一个文件。
  • zipfile.extractall()函数:用于解压缩整个ZIP文件。
  • zipfile.write()函数:用于向ZIP文件中写入数据。

⌨ 例子

import zipfile
import itertools
import time

start_time = time.time()
filename= "D:/test.zip"
password="124"

def uncompress(filename,password):
    try:
        with zipfile.ZipFile(filename) as zfile:
            zfile.extractall("./", pwd=password.encode("utf-8"))
        return True
    except:
        return False

chars = "abcdefghijklmnopqrstuvwxyz0123456789"
for c in itertools.permutations(chars,3):
    password="".join(c)
    # print(password)
    result=uncompress(filename,password)
    if not result:
        print("unzip failed",password)
    else:
        print("unzip successed",password)
        break

end_time = time.time()
run_time = end_time - start_time
print(f"程序运行时间为:{run_time}秒")

在这里插入图片描述

📈 py7zr

在Python中解压7z文件可以使用py7zr模块。py7zr是一个Python模块,用于处理7z格式的文件,它提供了一种简单的方法来解压缩和压缩7z文件。

以下是py7zr模块中一些常用的功能:

  • 解压缩7z文件:使用py7zr的extractall()方法可以解压缩整个7z文件。
  • 压缩文件为7z格式:使用py7zr的writeall()方法可以将文件或文件夹压缩为7z格式。

要使用py7zr模块,你需要先安装它。你可以使用pip命令来安装py7zr模块:

pip install py7zr

安装完成后,你就可以在Python中使用py7zr模块来处理7z文件了。

示例代码:

import py7zr

# 解压缩7z文件
with py7zr.SevenZipFile('example.7z', mode='r') as z:
    z.extractall()

# 压缩文件为7z格式
with py7zr.SevenZipFile('example.7z', mode='w') as z:
    z.writeall('folder_to_compress')
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

镜花照无眠

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值