Ai
1 Star 0 Fork 0

linjk/Jarvis

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
config.py 739 Bytes
一键复制 编辑 原始数据 按行查看 历史
linjk 提交于 2024-05-01 00:32 +08:00 . 增加单例支持类
import os
from config_model import Config
class SingletonMeta(type):
"""
自定义的单例模式,如:
class your_class(metaclass=SingletonMeta):
def __init__(self):
print("__init__")
当执行如下代码, 只会打印一行“__init__"
your_class()
your_class()
"""
_instances = {}
def __call__(cls, *args, **kwargs):
if cls not in cls._instances:
cls._instances[cls] = super(SingletonMeta, cls).__call__(*args, **kwargs)
return cls._instances[cls]
def get_config() -> Config:
return Config.parse_file(os.path.dirname(os.path.realpath(__file__)) + '/config.json')
if __name__ == "__main__":
print(get_config())
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/linjk/jarvis.git
git@gitee.com:linjk/jarvis.git
linjk
jarvis
Jarvis
master

搜索帮助