python实现全局配置和用户配置文件


一、文件目录格式

二、代码

1.conf.__init__.py

import importlib
import os

from conf import gsettings

class Settings(object):
    def __init__(self):
        #先加载全局配置
        for item in dir(gsettings):
            if item.isupper():
                k=item
                v=getattr(gsettings,k)
                #给对象设置键值对
                setattr(self,k,v)
        #加载用户settings
        setting_path=os.environ.get("SETTING")
        settings_module=importlib.import_module(setting_path)
        for s in dir(settings_module):
            if s.isupper():
                k=s
                v=getattr(settings_module,k)
                #给对象设置键值对
                setattr(self,k,v)


settings=Settings()

2.gsettings.py

NAME='from system settings'

3.settings.py

NAME="from customer settings"

4.start.py

import os,sys
BASE_DIR=os.path.dirname(__file__)
sys.path.append(BASE_DIR)

# 设置一个全局的键值对
os.environ.setdefault('SETTING','lib.settings')
from  conf import settings
print(settings.NAME)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM