setter 和 getter 之类的东西用于 python 字典

Something like setter and getter for a python dictionary

我有以下问题: class 包含一个字典的字典......例如

class Try():
   def __init__(self):
     self._tryDict = {'first':{'b':{'bla':'x'},'c':1},'second':{'b':15,'c':1}}
 @getter 
 def tryDict....

 @tryDict.setter 
 def tryDict....

我现在想要 setter 和 getter 之类的东西来更改 dict 的某个级别的变量并重新运行 corresponding dict上面的视图级别(并且仅当我设置新值时) 例如

try = Try()
try.tryDict['first']['b']['bla']

返回:'x'

try.tryDict['first']['b']['bla']='z'

'x' 更改为 'z' 和 returns try.tryDict['first'] 的内容 ({'b':{'bla':'x'},'c':1})

要了解我为什么需要这个: dict 实际上是 file-praser-functions 的列表,内容也存储为 dict。 即

dict = {'file-1':dict-1, 'file-1':dict-1, 'file-1':dict-1, ...} 

dict['file-1']['content-3']=1我设置了新的内容 并使用 dict['file-1'].write(),文件的内容在文件中更新。字典是一个 class 实例,我想立即将更改写入文件。

非常感谢您的帮助! BR,数学

好的,我现在是这样实现的:

每个文件都有 setter 和 getter 函数

class dicts():
.....
# to show the content
 @getter 
 def tryDict(self):
     return tryDict.file
# to sett some content
 @tryDict.setter 
 def tryDict(self, entry):
     if len(entry)==2:
        name, newEntry =  entry
        tryDict.file[name]= newEntry
     if len(entry)==3:
   .... 

如果我想获得条目:

tryDicis = dicts()
tryDicis.trydict # shows the dictionary

我现在可以设置不同的级别,例如:

tryDicis = dicts()
tryDicis.trydict = (name-level-1, name-level-2,..., newEntry)

这可能不是最优雅的方式,但它很容易实现并且对我来说已经足够好了。 BR, 数学