全面更换orjson
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import json
|
||||
import orjson
|
||||
import os
|
||||
|
||||
from src.common.logger import get_logger
|
||||
@@ -49,27 +49,27 @@ class LocalStoreManager:
|
||||
logger.debug(f"加载本地存储数据: {self.file_path}")
|
||||
try:
|
||||
with open(self.file_path, "r", encoding="utf-8") as f:
|
||||
self.store = json.load(f)
|
||||
self.store = orjson.loads(f.read())
|
||||
logger.info("全都记起来了!")
|
||||
except json.JSONDecodeError:
|
||||
except orjson.JSONDecodeError:
|
||||
logger.warning("啊咧?记事本被弄脏了,正在重建记事本......")
|
||||
self.store = {}
|
||||
with open(self.file_path, "w", encoding="utf-8") as f:
|
||||
json.dump({}, f, ensure_ascii=False, indent=4)
|
||||
f.write(orjson.dumps({}, option=orjson.OPT_INDENT_2).decode('utf-8'))
|
||||
logger.info("记事本重建成功!")
|
||||
else:
|
||||
# 不存在本地存储文件,创建新的目录和文件
|
||||
logger.warning("啊咧?记事本不存在,正在创建新的记事本......")
|
||||
os.makedirs(os.path.dirname(self.file_path), exist_ok=True)
|
||||
with open(self.file_path, "w", encoding="utf-8") as f:
|
||||
json.dump({}, f, ensure_ascii=False, indent=4)
|
||||
f.write(orjson.dumps({}, option=orjson.OPT_INDENT_2).decode('utf-8'))
|
||||
logger.info("记事本创建成功!")
|
||||
|
||||
def save_local_store(self):
|
||||
"""保存本地存储数据"""
|
||||
logger.debug(f"保存本地存储数据: {self.file_path}")
|
||||
with open(self.file_path, "w", encoding="utf-8") as f:
|
||||
json.dump(self.store, f, ensure_ascii=False, indent=4)
|
||||
f.write(orjson.dumps(self.store, option=orjson.OPT_INDENT_2).decode('utf-8'))
|
||||
|
||||
|
||||
local_storage = LocalStoreManager("data/local_store.json") # 全局单例化
|
||||
|
||||
Reference in New Issue
Block a user