用于更新json文件的脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用于更新json文件的脚本相关的知识,希望对你有一定的参考价值。

Python脚本需要两个输入,然后删除一些项目

{
    "a": [
      "one",
      "two",
      "three"
    ],
    "b": [
      "four",
      "five",
      "six"
    ],
    "c": [
      "seven",
      "eight",
      "nine",
      "ten"
    ]
}

Python脚本:

import json
import sys

alphaname=sys.argv[1]
numname=sys.argv[2]

with open('test.json', 'r+') as f:
  data = json.load(f)
  del data[alphaname][numname]

[当我运行脚本python purest.py a three时,应该从three中删除a并更新json文件。

这里是错误:

del data[alphaname][numname]
TypeError: list indices must be integers, not str
答案

numname是一个字符串,当您使用python purest.py a three运行程序时,它作为参数被接收。

data[alphaname]给您一个数组,它是键a的值

=>您对data[alphaname]的输出将是[“一个”,“两个”,“三个”]]

您可以添加以下代码(一种非常基本的解决方法:):

import json
temp_list = []
for i in data[alphaname]:
   if data[alphaname][i] != numname:
       temp_list.append(data[alphaname][i])
data.update({alphaname:temp_list})

with open('test.json', 'w') as f:
    json.dump(data, f)

请告诉我这是否适合您。祝一切顺利。

以上是关于用于更新json文件的脚本的主要内容,如果未能解决你的问题,请参考以下文章

常用python日期日志获取内容循环的代码片段

解决未能加载文件或程序集“Newtonsoft.Json ...."或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配。 (异常来自 HRESULT:0x80131040)(代码片段

无法使用 ArrayObjectAdaptor 的 clear() 和 addAll() 刷新/更新浏览片段

Eclipse 中的通用代码片段或模板

sh 用于测试写入json格式文件的简单脚本

如何将参数从命令行传递到 python 脚本以读取和更新 json 文件中存在的某些键的值