json存储没有正确更新值kivy

2024-04-28 16:45:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Json store在Json文件中插入一个值,首先从当前代码中的一个函数中插入,然后从另一个代码使用的函数中插入一个值,但是当我第二次更新该值时,它会重置我在第一个代码中设置的值。在

我相信您可以通过下面的示例代码更好地理解它:

我有两个文件:

  1. 在jsonstore.py-它将进一步导入文件2的导入模块
  2. 在导入模块.py在

请参阅下面两个文件的代码。在

在jsonstore.py在

from kivy.storage.jsonstore import JsonStore
import importedmodule as jb

JsonFileName = 'a.json'
store = JsonStore(JsonFileName)

def hello():
    store.put('ten', v=int(10))

hello()
jb.hello()

在导入模块.py在

^{pr2}$

当我运行第一个文件代码I.t。jsonstore.py其输出应为:

{"twenty": {"v": 20}, "ten": {"v": 10}}

但我得到的输出是

{"twenty": {"v": 20}, "ten": {"v": 0}}

我不知道为什么它不将10的值更新为10。不知道是什么错了或者我做错了什么。有谁能帮我或给我建议吗。?在


Tags: 模块文件store函数代码pyimportjson
1条回答
网友
1楼 · 发布于 2024-04-28 16:45:53

您正在创建两个JsonStore。这就像在两个单独的编辑器中打开同一个文本文件,然后进行更改并保存文件的每个副本-只保存一个副本,另一个副本将被覆盖。尝试对每个方法使用相同的存储。在

jsonstore.py

from kivy.storage.jsonstore import JsonStore
import importedmodule as jb

JsonFileName = 'a.json'
store = JsonStore(JsonFileName)

def hello(s):
    s.put('ten', v=int(10))

hello(store)
jb.hello(store)

导入模块.py

^{pr2}$

相关问题 更多 >