【发布时间】:2019-10-22 14:10:07
【问题描述】:
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(最近一次调用最后一次):
文件“”,第 21 行,在 client.download_file('Bucket_Name',file,'C:/Users/User/Desktop/folder')
文件 “C:\ProgramData\Anaconda3\lib\site-packages\boto3\s3\inject.py”,行 172,在下载文件中 extra_args=ExtraArgs,回调=回调)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\boto3\s3\transfer.py", 第 307 行,在下载文件中 未来.result()
文件 "C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\futures.py", 第 106 行,结果 返回 self._coordinator.result()
文件 "C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\futures.py", 第 265 行,结果 引发 self._exception
文件 “C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\tasks.py”,行 126,在通话 return self._execute_main(kwargs)
文件 “C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\tasks.py”,行 150,在_execute_main return_value = self._main(**kwargs)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\download.py", 第 603 行,在 _main osutil.rename_file(fileobj.name, final_filename)
文件 “C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\utils.py”,行 271,在重命名文件中 重命名文件(当前文件名,新文件名)
文件 "C:\ProgramData\Anaconda3\lib\site-packages\s3transfer\compat.py", 第 25 行,在 rename_file 中 os.remove(new_filename)
PermissionError: [WinError 5] 访问被拒绝: 'C:/用户/用户/桌面/文件夹'
【问题讨论】:
-
请格式化您的代码并添加有关您要完成的任务的更多详细信息。
-
现在。你可以检查