• 【CMDB】高级配置


    思路:

      一份默认配置,一份用户自定义配置,将两者结合,自定义优先级大于默认配置

    目录结构

    '''
    用户自定义的配置文件,settings.py
    '''
    USER = 'xiaoming'
    PASSWORD = '123'
    用户自定义配置
    '''
    系统默认配置文件,global_settings.py
    '''
    
    TEL = '13012312345'
    系统配置文件
    '''用户自定义配置和系统默认配置文件的统一 config.py'''
    import os
    import importlib
    from . import global_settings
    
    class Settings(object):
        def __init__(self):
            # 默认配置文件
            for name in dir(global_settings):
                if name.isupper():
                    value = getattr(global_settings,name)
                    setattr(self,name,value)
    
            # 自定义配置文件
            settings_module = os.environ.get('USER_SETTINGS')
            if not settings_module:
                return
            # 导入模块
            m = importlib.import_module(settings_module)
            for name in dir(m):
                if name.isupper():
                    value = getattr(m,name)
                    setattr(self,name,value)
    
    settings = Settings()
    '''
    start.py
    使用变量
    '''
    import os
    os.environ['USER_SETTINGS'] = 'config.settings'
    
    if __name__ == '__main__':
        from lib.conf.config import settings
        print(settings.USER)
  • 相关阅读:
    AJAX跨域JS访问
    dd
    学习java,搭建一个英文名著轻松阅读网站
    超载问题求解!!!
    nginx + uwsgi 部署Django项目
    一种算法问题,求指点!
    js除法余数
    button捕捉回车键
    为SQL表添加全文索引范例
    .Net刷新页面的小结
  • 原文地址:https://www.cnblogs.com/st-st/p/10270040.html
Copyright © 2020-2023  润新知