Files
pig-house-controller/storage/json_storage.py
2025-09-07 14:59:46 +08:00

41 lines
1014 B
Python

# 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)