Skip to main content
 首页 » 编程设计

python之如何使用 boto3 获取 S3 存储桶中的顶级文件夹

2025年05月04日14webabcd

我有一个 S3 存储桶,其中包含几个顶级文件夹,每个文件夹中都有数百个文件。如何获取这些顶级文件夹的名称?

我尝试了以下方法:

s3 = boto3.resource('s3', region_name='us-west-2', endpoint_url='https://s3.us-west-2.amazonaws.com') 
bucket = s3.Bucket('XXX') 
 
for obj in bucket.objects.filter(Prefix='', Delimiter='/'): 
    print obj.key 

但这似乎行不通。我考虑过使用正则表达式来过滤所有文件夹名称,但这似乎不符合时间效率。

提前致谢!

请您参考如下方法:

试试这个。

import boto3 
 
client = boto3.client('s3') 
paginator = client.get_paginator('list_objects') 
result = paginator.paginate(Bucket='my-bucket', Delimiter='/') 
for prefix in result.search('CommonPrefixes'): 
    print(prefix.get('Prefix'))