Кэширование с помощью словаря Python - PullRequest
0 голосов
/ 02 июля 2019

Я пытаюсь добавить данные в словарь, но не хочу перезаписывать весь словарь новым. Я хочу добавить новые данные к старым данным в словаре. Я реализовал похожую логику в Javascript, используя карты, но я не могу осуществить ее с помощью Python. Я не знаю, чего мне не хватает в моей логике. Каждый раз, когда я добавляю новые данные, старые исчезают. Есть ли способ создать памятку или кэширование с помощью Python?

class CacheService():

    def __init__(self):
        self.data = dict()

    def __setitem__(self, key, item):
        self.data[key] = item

    def __getitem__(self, key):
        return self.data[key]

    def __str__(self):
        return str(self.data)

    def getCount(self):
        return len(self.data)

from cache import CacheService

class Action:

    def __init__(self):
        self.cache_service = CacheService()

    def add(self, args):
        try:
            with open(args) as file:
                new_data = file.readlines()
                first, last, age = [value for values in new_data for value in values.split() ]
                #check if user already exist
                self.cache_service['first'] = first
                self.cache_service['last'] = last
                self.cache_service['age'] = age
                print(self.cache_service)
        except IOError as e:
            print('Unable to Open file', e)
    from controller.action import Action

    class App():

        def add(self, args):
            make_action = Action()
            make_action.add(args)
    ```
...