我想从Amazon s3的目录中获取最后修改的文件。 我现在只尝试打印该文件日期,但出现此错误。
TypeError:“ datetime.datetime”对象不可迭代
import boto3
s3 = 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))
答案 0 :(得分:0)
您有一个简单的代码段。简而言之,您必须遍历文件以查找所有文件中的最后修改日期。然后,您将拥有带有该日期的打印文件(可能不止一个)。
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)