【发布时间】:2019-10-18 11:41:54
【问题描述】:
当我使用 boto3 调用以获取 s3 存储桶中的对象列表时,我想按名称排除 3 个文件和/或打开以按文件类型排除它们(所有 3 个文件都以 .csv 结尾)。
目前我正在列出所有对象,如下所示:
import boto3
s3 = boto3.client('s3')
objs = s3.list_objects_v2(Bucket='mybucket_name')['Contents']
但目前不确定如何过滤掉文件或.csv。理想情况下,如何从 objs 变量中过滤掉文件名或文件扩展名?我已经准备好这段代码来获取最新修改文件的文件名:
last_added = [obj['Key'] for obj in sorted(objs, key=get_last_modified)][-1]
但是我可以获得没有“.csv”(在这种情况下文件没有任何扩展名)文件类型的文件名列表,如下所示:
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('bucket_name')
files = my_bucket.objects.all()
file_list = []
for file in files:
if file.key.endswith(''):
file_list.append(file.key)
然而,这并没有告诉我最后修改的日期。
【问题讨论】:
标签: python-3.x boto3