用户设置更新全局设置

用户设置:

# 自定义配置文件

USER = 'root'
PWD = '123'

全局配置

# 项目默认的配置文件


EMAIL = '1223@qq.com'

config定义类方法把配置里面的值更新到类方法里面:

import os
import importlib
# from config import settings
os.environ['CUSTOM_CONF'] = 'config.settings'
from lib.conf import global_settings
# from config import settings


class Settings():
    def __init__(self):
        ## 方法一
        # 集成自定义配置和全局的
        # # 默认的全局配置
        # for key in dir(global_settings):
        #     if key.isupper():
        #         v = getattr(global_settings, key)
        #         setattr(self, key, v)
        # # 用户自定义配置
        # for key in dir(settings):
        #     if key.isupper():
        #         v = getattr(settings, key)
        #         setattr(self, key, v)
        # 方法二
        #默认的全局配置
        self.__setAttr(global_settings)
        # 用户自定义的配置
        constom_config = os.environ.get('CUSTOM_CONF')
        settings = importlib.import_module(constom_config)
        self.__setAttr(settings)


    def __setAttr(self, conf):
        for key in dir(conf):
            if key.isupper():
                v = getattr(conf, key)
                setattr(self, key, v)

setting = Settings()

执行文件

import os

os.environ['CUSTOM_CONF'] = 'config.settings'
from lib.conf.config import setting

if __name__ == '__main__':
    try:
        print(os.environ)
        print(setting.EMAIL)
        print(setting.USER)
    except Exception as e:
        print('此配置不存在')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值