首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Python发出写入JSON文件的命令

用Python发出写入JSON文件的命令
EN

Stack Overflow用户
提问于 2022-05-10 10:19:51
回答 1查看 43关注 0票数 -1

JSON文件

代码语言:javascript
复制
{
  "site1": [
    {
      "sw1": {
        "device_type": "cisco_ios",
        "host": "sw1.test.local"
      },
      "sw2": {
        "device_type": "cisco_ios",
        "host": "sw2.test.local"
      }
    }
  ]
}

“守则”:

代码语言:javascript
复制
import json


def write_json(data, filename='data.json'):
    with open(filename, "w") as f:
        json.dump(data, f, indent=2)


def collect_new_data():
    with open('data.json') as json_file:
        data = json.load(json_file)
        temp = data['site1']
        new_data = {'sw3': {"device_type": "cisco_ios", "host": "sw3.tpo.local"}}
        temp.append(new_data)
        return data


the_data = collect_new_data()
write_json(the_data)

结果:

代码语言:javascript
复制
{
  "site1": [
    {
      "sw1": {
        "device_type": "cisco_ios",
        "host": "sw1.test.local"
      },
      "sw2": {
        "device_type": "cisco_ios",
        "host": "sw2.test.local"
      }
    },
    {
      "sw3": {
        "device_type": "cisco_ios",
        "host": "sw3.tpo.local"
      }
    }
  ]
}

新的Python/JSON,尽我最大的努力。

问这个问题。如何使其附加在与sw1和sw2相同的结构中?意思是,我现在得到一个额外的不需要的'},{‘

示例只是为了显示问题,而不是实际的代码。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-10 10:28:15

将代码更改为:

代码语言:javascript
复制
data['site1'][0]['sw3'] = {"device_type": "cisco_ios", "host": "sw3.tpo.local"}

因为现在您指定了在哪里准确地放置这个数据集。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72184541

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档