【发布时间】:2022-02-08 04:52:29
【问题描述】:
我在 S3 中具有以下层次结构,并且只想检索不包括以 .txt 结尾的文件的子文件夹类型信息(基本上排除文件名并仅检索前缀/文件夹)。
--folder1/subfolder1/item1.txt
--folder1/subfolder1/item11.txt
--folder1/subfolder2/item2.txt
--folder1/subfolder2/item21.txt
--folder1/subfolder3/item3.txt
--folder1/subfolder3/subfolder31/item311.txt
期望的输出:
--folder1/subfolder1
--folder1/subfolder2
--folder1/subfolder3/subfolder31
我了解 S3 中没有文件夹/子文件夹,但都是键。
我尝试了下面的代码,但它显示了所有信息,包括文件名,如item1.txt
s3 = boto3.resource('s3')
client = boto3.client('s3')
bucket = s3.Bucket('s3-bucketname')
paginator = client.get_paginator('list_objects')
objs = list(bucket.objects.filter(Prefix='folder1/'))
for i in range(0, len(objs)):
print(objs[i].key)
有什么建议可以低于输出吗?
--folder1/subfolder1
--folder1/subfolder2
--folder1/subfolder3/subfolder31
【问题讨论】:
标签: python amazon-web-services amazon-s3 boto3