为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用s3中的boto3获取最后修改的文件名

如何使用s3中的boto3获取最后修改的文件名

有只小跳蛙 2021-07-23 16:02:44
我想从亚马逊 s3 的目录中获取最后修改的文件。我现在才尝试仅打印该文件日期,但出现此错误。类型错误:“datetime.datetime”对象不可迭代import boto3s3 = boto3.resource('s3',aws_access_key_id='demo', aws_secret_access_key='demo')my_bucket = s3.Bucket('demo')for file in my_bucket.objects.all():    # print(file.key)    print(max(file.last_modified))
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

你有一个简单的片段。简而言之,您必须遍历文件才能找到所有文件中的最后修改日期。然后你有这个日期的打印文件(可能不止一个)。


from datetime import datetime


import boto3


s3 = boto3.resource('s3',aws_access_key_id='demo', aws_secret_access_key='demo')


my_bucket = s3.Bucket('demo')


last_modified_date = datetime(1939, 9, 1).replace(tzinfo=None)

for file in my_bucket.objects.all():

    # print(file.key)

    file_date = file.last_modified.replace(tzinfo=None)

    if last_modified_date < file_date:

        last_modified_date = file_date


print(last_modified_date)


# you can have more than one file with this date, so you must iterate again

for file in my_bucket.objects.all():

    if file.last_modified.replace(tzinfo=None) == last_modified_date:

        print(file.key)

        print(last_modified_date)


查看完整回答
反对 回复 2021-07-28
  • 1 回答
  • 0 关注
  • 245 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信