首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python编辑.json文件

Python编辑.json文件
EN

Stack Overflow用户
提问于 2016-05-24 01:35:10
回答 1查看 151关注 0票数 1

我正试图向.json文件中添加一些内容。

这就是拯救

代码语言:javascript
复制
        "106569102398611456" : {
        "currentlocation" : "Pallet Town",
        "name" : "Anthony",
        "party" : [
            {
                "hp" : "5",
                "level" : "1",
                "pokemonname" : "bulbasaur"
            }
        ],
        "pokedollars" : 0
    }
}

我要做的是发出命令,在“派对”中添加其他内容。这是我想要的一个例子。

代码语言:javascript
复制
    "106569102398611456" : {
        "currentlocation" : "Pallet Town",
        "name" : "Anthony",
        "party" : [
            {
                "hp" : "5",
                "level" : "1",
                "pokemonname" : "bulbasaur"
            },
            {
                "hp" : "3",
                "level" : "1",
                "pokemonname" : "squirtle"
            }

        ],
        "pokedollars" : 0
    }
}

编辑:

这是我尝试过的,但我不知道

代码语言:javascript
复制
def addPokemon(pokemon):
    pokemonName = convert(pokemon)
    for pokemon in players['party']:
        pokemon.append(pokemonName)

转换(口袋妖怪)基本上抓取口袋妖怪I类型,并改变给它一个级别和生命值,以添加到.json文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-24 03:24:39

若要更新JSON文件,请将对象写入临时文件,然后将目标文件替换为临时文件。示例:

代码语言:javascript
复制
import json
import os
import shutil
import tempfile

def rewriteJsonFile(sourceObj, targetFilePath, **kwargs):
  temp = tempfile.mkstemp()
  tempHandle = os.fdopen(temp[0], 'w')
  tempFilePath = temp[1]
  json.dump(sourceObj, tempHandle, **kwargs)
  tempHandle.close()
  shutil.move(tempFilePath, targetFilePath)

这假设更新是按顺序进行的。如果更新可能并行进行,则需要某种类型的锁定,以确保每次只发生一个更新。尽管在这一点上,最好使用像sqlite这样的数据库并以JSON格式返回查询。

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

https://stackoverflow.com/questions/37403065

复制
相关文章

相似问题

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