如何使用boto3遍历S3存储桶?

8 浏览
0 Comments

如何使用boto3遍历S3存储桶?

这个问题已经有答案了:

使用boto3列出bucket中的内容

我正在尝试训练一个神经网络,其中我传递一系列的图像。我想创建一个生成器,它会将每个图像传递为一个numpy数组

from skimage import io
image_array = io.imread(url)

但这仅限于特定的amazon aws url。我知道使用boto库的标准方法是这样的:

s3 = boto3.resource('s3')
s3.meta.client.download_file('mybucket', 'hello.txt', '/tmp/hello.txt') 

但在这里,似乎你指向了特定的资源

我想要这样的东西:

def my_generator():
    for object in s3_bucket():     # does an s3_bucket() iterator like this exist?
        image_array = io.imread(object)
        yield image_array

我该怎么做?

admin 更改状态以发布 2023年5月21日
0
0 Comments

你可以这样做:

for key in bucket.objects.all():
    print(key.key)

0