• 如何在python项目中写出像Django中一样功能的settings


    一  核心文件目录结构

    二  实现代码

    resdme:
      在实现此功能主要用到的知识点及模块:
      1.反射
      3.内置方法dir
    # 全局配置
    NAME = 'root'
    # 用户配置
    NAME = 'personal'
    from lib.conf import global_settings  # 全局默认配置
    from config import setting  # 用户个人配置
    
    class Settings():
        '''
        需要注意的是:
            1.在初始化的时候要将全局的配资放在个人的前面
            2.因为如果使个人的配置的权限高于全局的配置是需要将个人的放在全局的后面将其覆盖
        '''
        def __init__(self):
            # 默认全局的配置
            self.setSttr(global_settings)
            # 个人的配置
            try:
                self.setSttr(setting)
            except Exception as e:
                print('您要的配置信息不存在')
    
        def setSttr(self, conf):
            for key in dir(conf):
                if key.isupper():
                    v = getattr(conf, key)
                    setattr(self, key, v)
    settings
    = Settings()

    在setting中取值:

    from config import setting
    name = setting.NAME
    print(name)
    
    # 显示结果
    '''
    personal
    '''
  • 相关阅读:
    杭电2074
    关于大整数n!的问题!
    杭电2053
    大整数乘法(高精度)
    JS:获取框架内容
    JQ:hover延迟效果
    jQ+Ajax+PHP 简单实例
    js节省document.getElementById("xxx")的方法
    QQ一键登录功能的实现过程
    点击文字出现文本框
  • 原文地址:https://www.cnblogs.com/zhaijihai/p/10246641.html
Copyright © 2020-2023  润新知