wd-rating/utils/data_utils.py

27 lines
648 B
Python
Raw Permalink Normal View History

2023-10-07 15:24:29 +08:00
# python字典增强
# python字典转js字典
class JsDict(dict):
def __new__(cls, *args, **kwargs):
cls.__setitem__ = cls.__setattr__
return super().__new__(cls)
def __init__(self, dic):
for key, value in dic.items():
self.__setattr__(key, value)
def __make_item__(self, item):
if type(item) == dict:
item = JsDict(item)
elif type(item) == list:
item = [self.__make_item__(one) for one in item]
return item
def __setattr__(self, key, item):
dict.__setattr__(self, key, self.__make_item__(item))
self.update(self.__dict__)