python实现全局配置和用户配置文件
2024-08-28 05:11:57
一、文件目录格式
二、代码
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)
最新文章
- C#限速下载网络文件
- Linux下安装tensorflow
- 剑指Offer面试题:14.链表的倒数第k个节点
- Linux pthread
- JavaScript学习11 数组排序实例
- 最近读cocoaui源代码有感
- linux学习笔记 2013-09-02
- 你不知道的JavaScript-- 事件流与事件处理
- css3内容溢出属性
- ACM编程网站
- poj1014二进制优化多重背包
- iReport 5.6.0 PDF导出中文不显示问题 解决方案
- MySQL5.5 安装配置方法教程
- Docker最全教程
- C++学习8-面向对象编程基础(模板)
- 在deepin中安装docker
- 在浏览器中输入url回车之后会发生什么
- WorldWind源码剖析系列:可渲染对象类RenderableObject
- 《Linux内核分析》第五周学习总结 扒开系统调用的三层皮(下)
- Beta 冲刺 四
热门文章
- 关于EntityFramework 更新数据记录时字段全部更新问题和不从数据库中获取直接更新记录
- java oop第11章_反射、BaseDao的进一步改造
- 本地项目上传github
- NX二次开发-UFUN链表UF_MODL_create_list等用法
- [JZOJ 5807] 简单的区间
- (转)当android调试遇到ADB server didn't ACK以及顽固的sjk_daemon进程 .
- hdu4352-XHXJ's LIS状压DP+数位DP
- Java-Class-@I:org.springframework.web.bind.annotation.RestController
- ionic-Javascript:ionic 上拉菜单(ActionSheet)
- 什么是PoE、PSE、PD设备?