我正在尝试从下面的输出中提取最新日期和时间的两个ami id。我怎么用python做到这一点?预期结果:ami-x1,ami-x9
for image in images:
created_date = datetime.strptime(image.creation_date, "%Y-%m-%dT%H:%M:%S.000Z")
print(image.id, created_date)
输出:
ami-x1 2018-03-14 14:53:38
ami-x2 2018-03-13 14:34:34
ami-x3 2018-03-09 16:24:49
ami-x4 2018-03-12 14:32:44
ami-x5 2018-03-13 15:29:37
ami-x6 2018-03-07 15:38:03
ami-x7 2018-03-08 15:33:44
ami-x8 2018-03-06 23:20:24
ami-x9 2018-03-13 17:01:15
ami-x10 2018-03-05 15:43:09
我还可以生成具有纪元时间戳的image.id文件名。使用filename epoch提取最新的两个更容易吗?
test1-useast2-1521039086
test2-useast2-1520951547
test3-useast2-1520612589
test4-useast2-1520865070
test5-useast2-1520954877
test6-useast2-1520436979
test7-useast2-1520523129
test8-useast2-1520378310
test9-useast2-1520960373
test10-useast2-1520264490
如果您有任何意见,请告诉我。
答案 0 :(得分:3)
您可以尝试使用内置函数sorted()
,其强大功能为lambda
s:
first, second = sorted(
images,
key=lambda x: datetime.strptime(x.creation_date, "%Y-%m-%dT%H:%M:%S.000Z"),
reverse=True
)[:2]
print(first.id, second.id) # get and print id values