Python 列出带有boto3的AWS S3文件夹
我有收集levelOne文件夹中S3子文件夹的boto代码:Python 列出带有boto3的AWS S3文件夹,python,amazon-s3,directory,boto3,boto,Python,Amazon S3,Directory,Boto3,Boto,我有收集levelOne文件夹中S3子文件夹的boto代码: import boto s3 = boto.connect_s3() bucket = s3.get_bucket("MyBucket") for level2 in bucket.list(prefix="levelOne/", delimiter="/"): print(level2.name) 请帮助发现boto3中的类似功能。代码不应该遍历所有S3对象,因为bucket有大量的对象。我认为以下内容应该是等效的:
import boto
s3 = boto.connect_s3()
bucket = s3.get_bucket("MyBucket")
for level2 in bucket.list(prefix="levelOne/", delimiter="/"):
print(level2.name)
请帮助发现boto3中的类似功能。代码不应该遍历所有S3对象,因为bucket有大量的对象。我认为以下内容应该是等效的:
import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('MyBucket')
for object in bucket.objects.filter(Prefix="levelOne/", Delimiter="/"):
print(object.key)
如果只是查找文件夹列表,则使用列出对象时返回的
CommonPrefixes
。请注意,必须指定分隔符
,才能获得通用前缀
:
导入boto3
s3\u client=boto3.client('s3'))
response=s3\u client.list\u objects\u v2(Bucket='Bucket-NAME',分隔符='/'))
对于响应中的前缀['CommonPrefixes']:
打印(前缀['prefix'][:-1])
如果您的桶有大量文件夹和对象,您可以考虑使用,它可以提供每日或每周CSV文件列出所有对象。