在Python中,如何将磁盘上的JSON文件绑定到进程内字典?

use*_*588 5 python json synchronization

在perl中有一个tie操作符的概念,其中写入或修改变量可以运行任意代码(例如更新一些底层的Berkeley数据库文件).我很确定在python中也存在这种重载概念.

我很想知道最常用的方法是基本上将本地JSON文件视为整个python脚本运行所需的分层信息的规范来源,以便本地字典中的更改自动反映在JSON文件中.我将把它留给操作系统来优化写入和缓存(我不介意在整个脚本运行过程中文件基本上已经更新了几十次),但最终这只是一个千字节的元数据.喜欢呆在一起.没有必要解决对此的并发访问.我只是希望能够访问python进程中的层次结构(如嵌套字典)并读取(并写入)该结构自动导致从本地JSON文件读取(和更改).

Bru*_*elb 2

好吧,由于Python本身没有信号槽,我想你可以通过从Python字典继承它来创建你自己的字典类。类与 python dict 完全相同,只是在它的每个可以更改 dict 值的方法中,您将转储 json。

您也可以使用像PyQt4 QAbstractItemModel这样有信号的东西。当数据更改时,将发出信号,进行转储 - 它只会在一个地方,这很好。

我知道这两种方式有点愚蠢,可能是的。:) 如果有人更了解,请继续告诉!