# json 文件实现 import json from storage.base_storage import BaseStorage class JSONStorage(BaseStorage): def __init__(self, filename="data.json"): self.filename = filename # 如果文件不存在,先创建空字典 try: with open(self.filename, "r") as f: pass except OSError: with open(self.filename, "w") as f: f.write("{}") def _read_all(self): with open(self.filename, "r") as f: return json.load(f) def _write_all(self, data): with open(self.filename, "w") as f: json.dump(data, f) def save(self, key, value): data = self._read_all() data[key] = value self._write_all(data) def load(self, key, default=None): data = self._read_all() return data.get(key, default) def delete(self, key): data = self._read_all() if key in data: del data[key] self._write_all(data)