使用Boto3从S3下载文件夹

2024-06-07 18:11:58 发布

您现在位置:Python中文网/ 问答频道 /正文

使用Boto3 Python SDK,我可以使用bucket.download_file()方法下载文件

有没有办法下载整个文件夹?


Tags: 文件方法文件夹bucketdownloadsdkboto3file
1条回答
网友
1楼 · 发布于 2024-06-07 18:11:58

又快又脏,但很管用:

def downloadDirectoryFroms3(bucketName,remoteDirectoryName):
    s3_resource = boto3.resource('s3')
    bucket = s3_resource.Bucket(bucketName) 
    for object in bucket.objects.filter(Prefix = remoteDirectoryName):
        if not os.path.exists(os.path.dirname(object.key)):
            os.makedirs(os.path.dirname(object.key))
        bucket.download_file(object.key,object.key)

假设您想从s3下载目录foo/bar,那么for循环将迭代路径以前缀=foo/bar开头的所有文件。

相关问题 更多 >

    热门问题