Python 解压缩受密码保护的文件时出现权限错误
我正在尝试解压一些受密码保护的文件,但我不断得到一些权限错误。我曾尝试以管理员身份运行vscode执行此操作,但仍然收到相同的错误 代码如下:Python 解压缩受密码保护的文件时出现权限错误,python,windows,extract,unzip,zipfile,Python,Windows,Extract,Unzip,Zipfile,我正在尝试解压一些受密码保护的文件,但我不断得到一些权限错误。我曾尝试以管理员身份运行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') 以下是错误: Tr
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:\ProgramData\Anaconda3\lib\zipfile.py", line 1240, in __init__
self.fp = io.open(file, filemode)
PermissionError: [Errno 13] Permission denied: '.\\pa-dirty-price-crawler\\folders'
我仍然得到这个错误:
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:\ProgramData\Anaconda3\lib\zipfile.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'
回溯(最近一次呼叫最后一次):
文件“c:/Users/usr/workspace/pa dirty price crawler/src/outlook.py”,第23行,在
zipfile.zipfile(输入文件'r')作为zip\u参考:
文件“C:\ProgramData\Anaconda3\lib\zipfile.py”,第1240行,在uu init中__
self.fp=io.open(文件、文件模式)
PermissionError:[Errno 13]权限被拒绝:“C:\\Users\\usr\\workspace\\pa dirty price crawler\\folders”
看起来您正在传递一个目录作为输入。这可能是问题所在,而不是zip受密码保护
要提取zip文件,zipfile.zipfile
将zip文件作为输入,而不是目录
因此,您的代码需要两个变量:输入zip文件和输出目录:
input_file = r".\pa-dirty-price-crawler\folders\myzipfile.zip"
output_directory = r".\pa-dirty-price-crawler\folders"
import zipfile
with zipfile.ZipFile(input_file, 'r') as zip_ref:
zip_ref.extractall(output_directory, pwd=b'qpsqpwsr')
*注意使用
r“string”
,这有助于避免所有的后斜杠看起来您正在传递一个目录作为输入。这可能是问题所在,而不是zip受密码保护
要提取zip文件,zipfile.zipfile
将zip文件作为输入,而不是目录
因此,您的代码需要两个变量:输入zip文件和输出目录:
input_file = r".\pa-dirty-price-crawler\folders\myzipfile.zip"
output_directory = r".\pa-dirty-price-crawler\folders"
import zipfile
with zipfile.ZipFile(input_file, 'r') as zip_ref:
zip_ref.extractall(output_directory, pwd=b'qpsqpwsr')
*注意使用
r“string”
,这有助于避免所有反斜杠示例代码看起来输入的是目录而不是zip文件。然后您尝试提取到同一个目录。你确定你的示例是正确的吗?@PatrickArtner是的,当我手动输入密码时,字符串可以工作。@AlastairMcCormack我不确定它是否正确,我应该暂时保留提取文件的路径吗?@AlastairMcCormack你能看到我的编辑吗?你的示例代码看起来你的输入是一个目录而不是一个zip文件。然后您尝试提取到同一个目录。你确定你的例子是正确的吗?@PatrickArtner是的,当我手动输入密码时字符串有效。@AlastairMcCormack我不确定它是否正确,我应该暂时保留提取文件的路径吗?@AlastairMcCormack你能看到我的编辑吗?比你更有效。虽然可以对多个zip文件执行此操作,而不是在输入文件路径中指定\myzipfile.zip,但我希望我的问题在Path.glob(“directory/*.zip”)
中有意义,因为循环比您更有效。虽然可以对多个zip文件执行此操作,而不是在输入文件路径中指定\myzipfile.zip,但我希望我的问题在Path.glob(“directory/*.zip”)
循环中有意义