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

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

最佳答案

快速又肮脏,但是可以工作:

import boto3
import os

def downloadDirectoryFroms3(bucketName, remoteDirectoryName):
    s3_resource = boto3.resource('s3')
    bucket = s3_resource.Bucket(bucketName)
    for obj in bucket.objects.filter(Prefix = remoteDirectoryName):
        if not os.path.exists(os.path.dirname(obj.key)):
            os.makedirs(os.path.dirname(obj.key))
        bucket.download_file(obj.key, obj.key) # save to same path
假设您要从s3下载目录foo/bar,则for循环将迭代路径以Prefix = foo/bar开头的所有文件。

关于python - 使用Boto3从S3下载文件夹,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49772151/

10-13 04:38