在Python中创建不可预测数据的字典

时间:2019-03-14 21:21:59

标签: python

我编写了一个Python脚本,该脚本列出了AWS账户中的所有AWS实例。它为您提供了公共IP和私有IP,以及其他一些信息。

但是当json中有多个嵌套的公共IP和私有IP时,它将失败。我需要能够报告所有公共IP和私有IP。

我是Python的新手。而且,如果数据的内容不可预测,我需要知道如何构建数据的字典。

例如,某些实例可以具有少至几个私有IP或多达10个或20个私有IP。与公共IP相同。

数据如下所示:AWS Instance IPs

到目前为止,我的代码如下:

import boto3
import time
aws_account='company-prod'
session = boto3.Session(profile_name=aws_account)
ec2 = session.client("ec2")
instance_list = ec2.describe_instances()
for reservation in instance_list["Reservations"]:
        for instance in reservation.get("Instances", []):
.... print out info about the instance....

我的脚本的完整代码可以在这里找到:AWS List Instances

如果数据因实例而异,如何构建此数据的字典?

1 个答案:

答案 0 :(得分:1)

要在Python中读取/写入.json

将数据读入Python:

with open('inputs.json', 'r') as file: # 'r' for read-only
    my_variable = json.load(file)

将数据写入json:

with open('outputs.json', 'w') as f: # 'w' for write 'w+' will create a file if not found
    json.dump(my_variable, f)

我想像一下,当您正确加载.json文件时,标准Python索引可以通过[]轻松地访问它(这是用于索引列表,字典和元组的语法,但是当索引字典时,您应该放一个键而不是索引-> ['potatoes']而不是[0])