上面代码跑完,ZipFile.setpassword 还是无效
时间: 2023-07-02 15:04:04 浏览: 470
Zip忘记密码处理.zip
那可能是因为你的 ZIP 文件使用了 AES-256 加密,而 Python 的 zipfile 模块不支持 AES-256 加密。你可以尝试使用第三方库 pyzipper 来解密 AES-256 加密的 ZIP 文件。以下是一段使用 pyzipper 解密 ZIP 文件的示例代码:
```python
import pyzipper
# 打开加密的 ZIP 文件,读取其中的文件列表
with pyzipper.AESZipFile('encrypted.zip') as zf:
zf.setpassword(b'password')
file_list = zf.namelist()
# 解密 ZIP 文件中的所有文件
for file_name in file_list:
with pyzipper.AESZipFile('encrypted.zip') as zf:
zf.setpassword(b'password')
with zf.open(file_name) as f:
data = f.read()
# 处理解密后的数据
```
使用 pyzipper 解密 ZIP 文件的流程与使用 zipfile 差不多,只是需要注意设置密码的方式略有不同。此外,如果你的 ZIP 文件中包含多个加密文件,每次解密前都需要重新打开 ZIP 文件并设置密码。
阅读全文