解压缩受密码保护的文件时出现权限错误



我试图解压缩一些受密码保护的文件,但我一直遇到一些权限错误。我曾尝试以管理员身份运行vscode来执行此操作,但仍然收到相同的错误。

这是代码:

input_file = ".\pa-dirty-price-crawler\folders"
import zipfile
with zipfile.ZipFile(input_file, 'r') as zip_ref:
zip_ref.extractall(input_file, pwd=b'qpsqpwsr')

错误如下:

Traceback (most recent call last):
File "c:/Users/usr/workspace/pa-dirty-price-crawler/src/outlook.py", line 23, in <module>
with zipfile.ZipFile(input_file, 'r') as zip_ref:
File "C:ProgramDataAnaconda3libzipfile.py", line 1240, in __init__
self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: '.\pa-dirty-price-crawler\folders'

我不知道还有哪个图书馆可以做同样的操作,但如果有人对修复这个问题有建议,我真的很感激

编辑:

当我尝试指定整个文件路径名如下:

input_file = "C:\Users\usr\workspace\pa-dirty-price-crawler\folders"
import zipfile
with zipfile.ZipFile(input_file, 'r') as zip_ref:
zip_ref.extractall(pwd=b'qpsqpwsr')

我仍然得到这个错误:

Traceback (most recent call last):
File "c:/Users/usr/workspace/pa-dirty-price-crawler/src/outlook.py", line 23, in <module>
with zipfile.ZipFile(input_file, 'r') as zip_ref:
File "C:ProgramDataAnaconda3libzipfile.py", line 1240, in __init__
self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: 'C:\Users\usr\workspace\pa-dirty-price-crawler\folders'

看起来您正在传递一个目录作为输入。这可能是个问题,而不是zip有密码保护。

要提取zip文件,zipfile.ZipFile将zip文件作为输入,而不是目录。

因此,您的代码需要两个变量:一个输入zip文件和一个输出目录:

input_file = r".pa-dirty-price-crawlerfoldersmyzipfile.zip"
output_directory = r".pa-dirty-price-crawlerfolders"
import zipfile
with zipfile.ZipFile(input_file, 'r') as zip_ref:
zip_ref.extractall(output_directory, pwd=b'qpsqpwsr')

*注意r"string"的使用,这有助于避免所有的反斜杠

最新更新