我正在尝试向.json文件添加内容。
这就是保存
"106569102398611456" : {
"currentlocation" : "Pallet Town",
"name" : "Anthony",
"party" : [
{
"hp" : "5",
"level" : "1",
"pokemonname" : "bulbasaur"
}
],
"pokedollars" : 0
}
}
我正在尝试做的是命令在“派对”中添加其他内容。这是我想要的一个例子。
"106569102398611456" : {
"currentlocation" : "Pallet Town",
"name" : "Anthony",
"party" : [
{
"hp" : "5",
"level" : "1",
"pokemonname" : "bulbasaur"
},
{
"hp" : "3",
"level" : "1",
"pokemonname" : "squirtle"
}
],
"pokedollars" : 0
}
}
编辑:
这是我尝试的但我不知道
def addPokemon(pokemon):
pokemonName = convert(pokemon)
for pokemon in players['party']:
pokemon.append(pokemonName)
转换(口袋妖怪)基本上抓住我输入的口袋妖怪,并改变给它一个水平和健康状态添加到.json文件
答案 0 :(得分:1)
要更新JSON文件,请将对象写出到临时文件,然后将目标文件替换为临时文件。例如:
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格式返回查询。