CMDB-客户端

配置文件的设置

大体思路:

  1,通过开始文件将用户配置信息的文件放置到环境变量中。

  2,在lib文件中的config文件中,从环境变量中获取到用户的配置,通过importlib模块导入用户配置文件,通过dir方法获取到文件內的配置信息加载到本Settings类中。

  3,默认配置方式同上。

import os

os.environ["USER_SETTINGS"] = "config.settings"

from lib.conf.config import settings

print(settings.USER)
print(settings.EMAIL)
./bin/start
"""
用户自定义配置
"""

USER = "root"
EMAIL = "[email protected]"
./config/settings

默认配置信息

"""
全局配置文件
"""
import os
import importlib
from . import global_settings


class Settings(object):
    def __init__(self):
        # 找到默认配置
        for name in dir(global_settings):
            value = getattr(global_settings, name)
            setattr(self, name, value)

        # 找到自定义配置
        settings_module = os.environ.get("USER_SETTINGS")
        # 根据字符串导入模块
        if settings_module:
            m = importlib.import_module(settings_module)
            for name in dir(m):
                if name.isupper():
                    value = getattr(m, name)
                    setattr(self, name, value)


settings = Settings()
./lib/conf/config

猜你喜欢

转载自www.cnblogs.com/chenrun/p/10200562.html