如何使用Boto3仅从s3存储桶中获取文件名

时间:2019-08-30 19:22:03

标签: boto3

我正在使用以下指定的命令:

import boto3
s3 = boto3.client('s3')

paginator = client.get_paginator('list_objects')

page_iterator_1 = paginator.paginate(Bucket='Bucket-Name',Prefix=alh-source/', PaginationConfig={'PageSize':1})
page_iterator = page_iterator_1.search("Contents[?contains(Key,'.json')].Key")

for page in page_iterator:
    print(page)

输出为

alh-source/ALH_LXN_RESPONSE_10.json
alh-source/ALH_LXN_RESPONSE_9.json

但是,我的输出应仅包含文件名,如下所示:

ALH_LXN_RESPONSE_10.json
ALH_LXN_RESPONSE_9.json

1 个答案:

答案 0 :(得分:1)

alh-source/ALH_LXN_RESPONSE_10.json是S3对象键。 S3实际上没有文件夹和文件名的概念,而只是用作对象键的唯一字符串。如果要在最后/之后的部分,可以执行一些简单的字符串操作,例如:

print(page.split('/')[-1])