【问题标题】:How do I unzip a password protected zip file using Python如何使用 Python 解压缩受密码保护的 zip 文件
【发布时间】:2020-06-10 10:56:03
【问题描述】:

下面是代码。

from zipfile import ZipFile 

file_name = "XYZ.zip"

with ZipFile(file_name, 'r') as zip: 
    zip.printdir()
    print('Extracting all the files now...') 
    zip.extractall(pwd=b'123123$SADMK6%002#')
    print('Done!')

这会引发错误:

NotImplementedError:压缩类型 99

没有密码保护的作品文件。只有当我尝试解压缩受密码保护的文件时才会出现此错误。

任何帮助将不胜感激

【问题讨论】:

  • 您是如何生成文件的? (有不同类型的 zip 加密)。
  • 我不确定。我从另一个来源获得了拉链。有没有办法检查 zip 加密

标签: python python-3.x


【解决方案1】:

您可以使用7zip 或其他 zip 文件提取器。有不同类型的 zip 加密,所以只有在加密方法相同的情况下才能解压缩。

首先安装 7zip 并将其路径添加到 windows 上的环境变量中。然后运行这段代码。

这段代码帮助了我:

import subprocess
passwd = "asdf"
file_name = "F:\\test.zip"
output_path = "F:\\test"
subprocess.call(["7z", "x", '-p{}'.format(passwd), file_name,"-o"+output_path])

【讨论】:

  • 对不起,我没看懂代码。我是python的初学者。
  • 运行代码时出现错误 FileNotFoundError: [WinError 2] The system cannot find the file specified
  • @Yatish 我编辑了答案。现在看看。还是有问题?
  • 我尝试添加路径,但仍然出现同样的错误。
最近更新 更多