python - 获取循环Python之外的值列表
问题描述
我想在循环外获得变量输出 a (在循环中)
stopped_reasons = []
output=[]
client = boto3.client('ec2')
reservations = client.describe_instances().get('Reservations', [])
for reservation in reservations:
for instance in reservation['Instances']:
tags = {}
for tag in instance['Tags']:
tags[tag['Key']] = tag['Value']
if tag['Key'] == 'Name':
name=tag['Value']
if instance['State']['Name'] == 'stopped':
instance_ids.append(instance['InstanceId'])
instance_names.append(name)
stopped_reason = instance['StateTransitionReason']
stopped_reasons.append(stopped_reason)
transition_timestamp = datetime.strptime(instance['StateTransitionReason'][16:39], '%Y-%m-%d %H:%M:%S %Z')
#print (datetime.now() - transition_timestamp).days
a="Instance:"+ instance['InstanceId'] + ' Name: ' +name + "TIME: "+str(transition_timestamp)
print a
output.append(a)
print output
print a (inside loop) 给出了我想要的:
Instance:i-03666a1aea6028cf0 Name: aws-opsworks-cm-instance-mypuppet-1541455366196TIME: 2018-11-15 18:30:27
Instance:i-0a67100fa09eab573 Name: Choco_ServerTIME: 2018-11-29 18:30:27
我试图获得相同的输出,但在 for 循环之外。所以我声明了列表输出并附加了一个变量
但打印输出(外部循环)给出一行
['Instance:i-03666a1aea6028cf0 Name: aws-opsworks-cm-instance-mypuppet-1541455366196 TIME: 2018-11-15 18:30:27', 'Instance:i-0a67100fa09eab573 Name: Choco_Server TIME: 2018-11-29 18:30:27']
解决方案
刚刚找到它,必须将新行加入列表
body= "\n".join(output)
print body
推荐阅读
- ios - 错误:exportArchive:代码签名“MyFramework.framework”在 fastlane 构建中失败
- elasticsearch - 带有 ElasticSearch 的 Grafana - 特定时间段内最大值的总和
- python - Python 使用 openpyxl 和 pandas 将抓取的 Web 数据导出到 Excel
- node.js - Typeorm 关系查询生成器
- python - 如何将列表中的数据写入 CSV 文件?
- string - 带有几行包含“#”和特定文本的正则表达式
- c - 将 double 转换为 printf 的类似 %g 的字符串,长度最短且不损失任何精度
- sql - 仍然混淆选择列、分组依据和连接的规则
- google-cloud-platform - 项目的谷歌云区域(个人/官方)
- java - 如何使用 for 循环在 textView.setText 中实现递减计数器?