Python 如何使用boto3迭代S3存储桶?

Python 如何使用boto3迭代S3存储桶?,python,amazon-web-services,amazon-s3,boto,boto3,Python,Amazon Web Services,Amazon S3,Boto,Boto3,我试图训练一个神经网络,在那里我传递一系列的图像。我想创建一个生成器,将每个图像作为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') de

我试图训练一个神经网络,在那里我传递一系列的图像。我想创建一个生成器,将每个图像作为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
但在这里,您似乎又指向了一个特定的资源

我想要这样的东西:

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

我怎样才能做到这一点呢?

您可以执行以下操作:

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

您可以执行以下操作:

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

有没有办法做到这一点并跳过bucket中的前100个文件?有没有办法做到这一点并跳过bucket中的前100个文件?