Python python 保存 json 一定要读取全部修改完在保存吗?

skyshine · 2022年04月06日 · 最后由 一枚老男孩 回复于 2022年04月09日 · 2442 次阅读
with open('dy.json', 'r', encoding='utf-8') as f:
    ad = f.read()
ad_dict = json.loads(ad)


ad_dict['d_list']['a1']['send'] = 0
ad_dict['d_list']['a7'] = {
        "send": 1,
        "message": "gggggggg"
      }

ad_dict 是读的 json 里全部内容
每次修改一项,或添加一顶 都是读取整个 json 在改完(添加新项后)在保存
有时 json 会很大,网络传送就不方便

有没有别的方法呢?
不用传这么大的文件,只要传送修改(添加)的那一项就好了。
谢谢

共收到 3 条回复 时间 点赞

mongoDB 可以存储 json 文件,是不是可以考虑先把文件存进数据库,然后修改数据库的数据?等你要用的时候可以再取出来

你这个修改其实是,每次都从头执行一次 py 文件代码。不管 json 存在放在哪里 ,你只要每次执行这个 py 文件运行代码 还是会去重新读取。或者你起个服务,长久的将 json 内容放在内存里,这样就不要每次读取文件了。 只是修改内存变量的值。

可以用 json.load,不过如果 json 文件太大会比较占用内存
with open('dy.json', 'r', encoding='utf-8') as f:
ad_dict = json.load(f)

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册