python - python对ec2实例列表进行排序
问题描述
我有一个 python 脚本,它打印出一个 ec2 实例列表,如下所示:
['i-06db4eb158ad0bdfd,2021-05-12 12:04:19+00:00,False', 'i-0f67cf99fb4536c3f,2020-10-14 13:32:23+00:00,asg-elk-', 'i-0539c8dfc839cbfda,2020-10-26 07:38:01+00:00,asg-standalone', 'i-0f285277529543462,2018-05-18 16:47:00+00:00,False', 'i-0d649cebdf54bd2f4,2020-03-12 10:07:07+00:00,asg-ddf', 'i-01734dfef0159c5c8,2020-10-20 13:05:27+00:00,asg-pro', 'i-0ff596f1dc01b61d8,2021-03-17 11:21:21+00:00,asg-base-test']
我希望能够根据CreationDateTime对列表进行排序。我使用了 python 内置函数 sorted() 但这似乎并没有给我我需要的输出。
我的python脚本如下:
response = ec2_client.describe_instances(
MaxResults=10
)
instances = (len(response['Reservations']))
instances_list = []
for x in range(instances):
# Get InstanceId
instance_id = (response['Reservations'][x]
['Instances'][0]['InstanceId'])
# Get NetworkInterfacws AttatchTime
network_interface_id = (
response['Reservations'][x]['Instances'][0]['NetworkInterfaces'][0]['NetworkInterfaceId'])
network_interface_details = ec2_client.describe_network_interfaces(
NetworkInterfaceIds=[network_interface_id])
networkinterface_id_attachedtime = network_interface_details[
'NetworkInterfaces'][0]['Attachment']['AttachTime']
# print results
line = '{},{},{}'.format(
instance_id, networkinterface_id_attachedtime, autoscaling_group_name)
instances_list.append(line)
sorted(instances_list)
解决方案
sorted
接受key
可用于按日期排序的参数lambda
:
sorted(instances_list, key=lambda v: v.split(',')[1])
推荐阅读
- yii - Yii 1.1 中每个页面的评论功能
- java - ListView 复制数据
- angular - 在角度应用程序中从 DOM 隐藏/删除元素的正确方法是什么?
- ios - 如何在没有自动布局的情况下使用安全区域布局指南?
- java - BitcoinJ 钱包显示错误的余额
- python - 在 keras 中嵌入单词位置
- r - 从 R 中的文本中提取任何格式的日期
- can-bus - 使用 CANoe 生成不同的 CAN 错误
- javascript - 从 mongodb 中的对象更新字符串
- spring-boot - RefreshScopeRefreshedEvent 与 EnvironmentChangeEvent 之间的区别