Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 解压缩受密码保护的文件时出现权限错误_Python_Windows_Extract_Unzip_Zipfile - Fatal编程技术网

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

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

我正在尝试解压一些受密码保护的文件,但我不断得到一些权限错误。我曾尝试以管理员身份运行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:\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”)
循环中有意义