You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Kivy中JsonStore存储的数值?

如何修改Kivy JsonStore中的值并同步到文件

你的问题出在:当你通过store["MyDict"]获取字典时,得到的是内存中的副本,修改这个副本只会改变内存里的数据,不会自动触发JsonStore将变更写入文件。JsonStore需要通过显式的API操作才能同步到磁盘。

解决方案1:修改副本后重新赋值

先取出字典修改,再将整个字典重新赋值给对应的键,这会触发JsonStore写入文件:

from kivy.storage.jsonstore import JsonStore

store = JsonStore("Test.json")

store["MyDict"] = {"0":"H", "1":"A", "2":"Y"}
print(store["MyDict"])

# 取出字典修改
my_dict = store["MyDict"]
my_dict["1"] = "E"
# 重新赋值,触发写入
store["MyDict"] = my_dict

print(store["MyDict"])

解决方案2:使用update()方法直接修改

JsonStore提供了update()方法,可以直接更新顶层条目内的键值对,无需重新赋值整个字典,同样会自动写入文件:

from kivy.storage.jsonstore import JsonStore

store = JsonStore("Test.json")

store["MyDict"] = {"0":"H", "1":"A", "2":"Y"}
print(store["MyDict"])

# 直接更新指定键的值
store.update("MyDict", **{"1": "E"})

print(store["MyDict"])

运行任意一种方案后,打开Test.json就能看到内容已经更新为{"MyDict": {"0": "H", "1": "E", "2": "Y"}}。

内容的提问来源于stack exchange,提问作者Tarezze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 00:41:59