两个tk窗口调用同一个json需要重启才能获取正确数据

问题遇到的现象和发生背景

a、b两个窗口读取同一个json文件:通过a修改json,a能获取实时数据,b需要重启才能获取更新后的数据

用代码块功能插入代码,请勿粘贴截图
import json
from pathlib import Path
import base64

class Setjson(object):
    def writeJsonData(self, item, newdata):

        self.jsonData = self.getJsonData()

        i = 0
        while i < len(item):
          self.jsonData[item[i]] = newdata[i]
          i = i + 1

        #加密
        self.jsonData = base64.b64encode(json.dumps(self.jsonData).encode("utf-8")).decode("utf-8")

        path0 = Path(__file__).resolve()
        with open(str(path0)[0:str(path0).rfind('\\')] + '\\basicfiles\\info.json', 'w') as dump_f:
            json.dump(self.jsonData, dump_f)

    @staticmethod
    def getJsonData():
        path0 = Path(__file__).resolve()
        with open(str(path0)[0:str(path0).rfind('\\')] + '\\basicfiles\\info.json', 'r', encoding='utf8')as f:
            #return json.load(f)
            #解密
            return json.loads(base64.b64decode(json.load(f)))

运行结果及报错内容

以上是调用json的方法,b窗口内调用getJsonData()的值一直是初始值,不会获取到a修改后的值

我的解答思路和尝试过的方法

我猜想是需要释放内存?尝试过在a和b del 几个调用的变量结果没有变化

我想要达到的结果

有没有方法能让b能实时获取json数据

代码完整发来我调试下看看


我的思路是
  1.如果B窗口啥按钮也没有是自动获取json文件的 那就b窗口添加一个监听事件文件是否被修改,如果修改就自动读取
  2.如果有按钮那你a窗口只要修改完保存,B窗口按钮读取就可以了

因为不知道你的B窗口到底是干啥的  所以最好详细说下