简体   繁体   English

执行以下代码时出错(PermissionError: [WinError 5] Access is denied)

[英]Getting Error (PermissionError: [WinError 5] Access is denied) when Execute below code

import boto3

_BUCKET_NAME = 'Bucket_Name'
_PREFIX = 'data/'

ACCESS_KEY='*********************'
SECRET_KEY='**************************'

client = boto3.client('s3', aws_access_key_id=ACCESS_KEY,
                            aws_secret_access_key=SECRET_KEY)

def ListFiles(client):
    """List files in specific S3 URL"""
    response = client.list_objects(Bucket=_BUCKET_NAME, Prefix=_PREFIX)
    for content in response.get('Contents', []):
        yield content.get('Key')

file_list = ListFiles(client)
for file in file_list:
client.download_file('Bucket_Name',file,'C:/Users/UserName/Desktop/folder/')

Traceback (most recent call last):回溯(最近一次调用最后一次):

File "", line 21, in client.download_file('Bucket_Name',file,'C:/Users/User/Desktop/folder')文件“”,第 21 行,在 client.download_file('Bucket_Name',file,'C:/Users/User/Desktop/folder')

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\boto3\\s3\\inject.py", line 172, in download_file extra_args=ExtraArgs, callback=Callback)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\boto3\\s3\\inject.py”,第172行,在download_file extra_args=ExtraArgs,callback=Callback)

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\boto3\\s3\\transfer.py", line 307, in download_file future.result()文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\boto3\\s3\\transfer.py”,第 307 行,在 download_file future.result()

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\futures.py", line 106, in result return self._coordinator.result()文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\futures.py”,第106行,结果返回self._coordinator.result()

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\futures.py", line 265, in result raise self._exception文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\futures.py”,第 265 行,结果引发 self._exception

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\tasks.py", line 126, in call return self._execute_main(kwargs)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\tasks.py”,第 126 行,调用return self._execute_main(kwargs)

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\tasks.py", line 150, in _execute_main return_value = self._main(**kwargs)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\tasks.py”,第 150 行,在 _execute_main return_value = self._main(**kwargs)

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\download.py", line 603, in _main osutil.rename_file(fileobj.name, final_filename)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\download.py”,第 603 行,在 _main osutil.rename_file(fileobj.name, final_filename)

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\utils.py", line 271, in rename_file rename_file(current_filename, new_filename)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\utils.py”,第 271 行,在 rename_file rename_file(current_filename, new_filename)

File "C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\compat.py", line 25, in rename_file os.remove(new_filename)文件“C:\\ProgramData\\Anaconda3\\lib\\site-packages\\s3transfer\\compat.py”,第 25 行,在 rename_file os.remove(new_filename)

PermissionError: [WinError 5] Access is denied: 'C:/Users/User/Desktop/folder' PermissionError: [WinError 5] 访问被拒绝: 'C:/Users/User/Desktop/folder'

Permission error message is misleading.权限错误消息具有误导性。 The download_file expects a target file name parameter and not a folder download_file 需要目标文件名参数而不是文件夹

client.download_file('Bucket_Name',object_key,'C:\\temp\\file_name.txt')

You are missing a forward slash at the end of your path.您在路径的末尾缺少正斜杠。 Python thinks it is a file instead of a folder and throws an error. Python 认为它是一个文件而不是一个文件夹并抛出错误。 Replace last line替换最后一行

client.download_file('Bucket_Name',file,'C:/Users/UserName/Desktop/folder')

with:和:

client.download_file('Bucket_Name',file,'C:/Users/UserName/Desktop/folder/')

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 PermissionError: [WinError 5] 访问被拒绝 - PermissionError: [WinError 5] Access is denied PermissionError: [WinError 5] 访问被拒绝 - PermissionError: [WinError 5] Access denied pytesseract 给出错误 PermissionError: [WinError 5] Access is denied - pytesseract gives an error PermissionError: [WinError 5] Access is denied Python 错误:PermissionError:[WinError 5] 访问被拒绝 - Python Error: PermissionError: [WinError 5] Access is denied Python-PermissionError:[WinError 5]访问被拒绝: - Python - PermissionError: [WinError 5] Access is denied: PermissionError: [WinError 5] 访问在 Python 中被拒绝 - PermissionError: [WinError 5] Access is denied in Python 我不断收到 PermissionError: [WinError 5] Access is denied on Pytesserect - I keep getting PermissionError: [WinError 5] Access is denied on Pytesserect PermissionError: [WinError 5] Access is denied - 在 vs 代码中运行程序 - PermissionError: [WinError 5] Access is denied - Running the program in vs code PermissionError: [WinError 5] Access Denied: [4776] 运行 docker-compose up 时无法执行脚本 docker-compose - PermissionError: [WinError 5] Access Denied: [4776] Failed to execute script docker-compose when running docker-compose up PermissionError: [WinError 5] 访问被拒绝 jupyter 内核 - PermissionError: [WinError 5] Access is denied jupyter kernel
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM