获取S3文件夹中的最后一个文件名?



s3存储桶中有很多文件。文件夹/文件名格式如下:

s3://bucket/folder/year=1990/1990-01-01.csv
......
s3://bucket/folder/year=2020/2021-01-23.csv

如何使用Python获取最后一个文件名?在上面的示例中,它是2021-01-23.csv

您可以选择使用filter的替代方案:

import boto3
s3r = boto3.resource('s3')
all_files = list(s3r.Bucket('bucket').objects.filter(Prefix='folder/').all())
print(all_files[-1])

它不会根据文件中的日期进行语义检查以查找最后一个。但是,这个例子也可以扩展到这样做。

import glob
import os
# get all csv files recursively inside the folder s3://bucket/folder/
files = glob.glob('s3://bucket/folder/' + '/**/*.csv', recursive=True) 
files.sort() # sort them by name
last_file = files[-1] # get the last element
last_file_name = os.path.basename(last_file) # extract filename from filepath

相关内容

  • 没有找到相关文章

最新更新