python动态全局缓存配置

在内存中缓存配置,但提供手动或自动刷新机制。

使用文件的修改时间戳(mtime)来判断文件是否更新,只有在文件更新时重新读取

python 复制代码
import os
import json

_cached_config = None
_cached_config_mtime = None

def read_config():
    global _cached_config, _cached_config_mtime
    config_file = os.path.expanduser('~/.magic-pdf.json')

    if not os.path.exists(config_file):
        raise FileNotFoundError(f'{config_file} not found')

    mtime = os.path.getmtime(config_file)
    if _cached_config is None or _cached_config_mtime != mtime:
        with open(config_file, 'r', encoding='utf-8') as f:
            _cached_config = json.load(f)
            _cached_config_mtime = mtime

    return _cached_config
相关推荐
Full Stack Developme3 分钟前
Redis 可以实现哪些业务功能
数据库·redis·缓存
心静财富之门22 分钟前
退出 for 循环,break和continue 语句
开发语言·python
WJSKad123529 分钟前
YOLO11-FDPN-DASI实现羽毛球拍与球的实时检测与识别研究
python
幻云201038 分钟前
Next.js之道:从入门到精通
人工智能·python
0和1的舞者40 分钟前
GUI自动化测试详解(三):测试框架pytest完全指南
自动化测试·python·测试开发·自动化·pytest·测试
大神君Bob1 小时前
【AI办公自动化】教你使用Pytho让Word文档处理自动化
python
轻竹办公PPT1 小时前
2025实测!AI生成PPT工具全总结
人工智能·python·powerpoint
彼岸花开了吗1 小时前
构建AI智能体:八十一、SVD模型压缩的艺术:如何科学选择K值实现最佳性能
人工智能·python·llm
dagouaofei2 小时前
2026 年工作计划 PPT 制作方式对比:AI 与传统方法差异
人工智能·python·powerpoint
虚拟搬运工2 小时前
xformers造成comfyu启动失败
python·comfyui