如何解决"datetime.datetime"对象不可迭代"类型错误



我有一段代码遍历 AWS S3 文件夹中的多个文件。我想收集所有对象的上次修改日期时间戳,并能够按升序或降序对它们进行排序。 我的代码如下所示:

import boto3
s3 = boto3.resource('s3')
my_bucket = s3.Bucket('myS3bucket')
for my_bucket_object in my_bucket.objects.all():
if my_bucket_object.key.startswith('inbox/'):
changedate_dt = my_bucket_object.last_modified
changedate_str = sorted(changedate_dt, reverse=False)
print(changedate_str)

我收到错误:

类型错误:"datetime.datetime"对象不可迭代

我该如何解决这个问题?

您需要列出datetime.datetime值,而不是简单地尝试对每个单独的datetime.datetime进行排序:

changedate_list = []
for my_bucket_object in my_bucket.objects.all():
if my_bucket_object.key.startswith('inbox/'):
changedate_list.append(my_bucket_object.last_modified)

然后,您可以对日期时间列表进行排序并将其打印出来(如果您愿意,可以采用同种格式(:

changedate_list.sort()
for changedate in changedate_list:
print changedate.isoformat()

最新更新