python 读取默认配置文件和用户配置文件 configs
优先从configs_default中读取配置,但是configs_override中的配置可以override它
import configs_default
#import configs_override #不一定有这个文件 得换成 try except
configs = configs_default.configs
def chain(*dicts): #自己实现一个dict版本的chain
for d in dicts:
for k,v in d.items():
yield (k,v)
def merge_configs(c1,c2):
results={}
for k,v in chain(c1,c2):
if k in results:
results[k] = merge_configs(results[k],v) if isinstance(v,dict) else v #Iterable不行 str也是Iterable
else:
results[k] = v # 原来没有 直接加
return results
class Dict(dict):
'''
Simple dict but support access as x.y style.
'''
def __init__(self, names=(), values=(), **kw):#可以传入names=('id','name') values=(123,'Tom')
super(Dict, self).__init__(**kw)
for k, v in zip(names, values):# zip 打包成一对对的tuple组成的list [('id',123),('name','Tom')]
self[k] = v
def __getattr__(self, key):
try:
return self[key]
except KeyError:
raise AttributeError(r"'Dict' object has no attribute '%s'" % key)
def __setattr__(self, key, value):
self[key] = value
def toDict(d):
results = Dict()
for k,v in d.items():
results[k] = toDict(v) if isinstance(v,dict) else v
return results
try:
import configs_override
configs = merge_configs(configs,configs_override.configs)
except BaseException as e:
pass
configs = toDict(configs)
python 读取默认配置文件和用户配置文件 configs的更多相关文章
- python实现全局配置和用户配置文件
一.文件目录格式 二.代码 1.conf.__init__.py import importlib import os from conf import gsettings class Setting ...
- linux系统配置文件和用户配置文件及其作用
我的博客:www.while0.com /etc/issue 未登陆时控制台显示的文字 /etc/issue.net 远程登陆时控制台显示的文字 /etc/motd 用户登陆时显示的文字 这里先提供两 ...
- xp默认安装路径及本地用户配置文件存放路径修改
xp默认安装路径及本地用户配置文件存放路径修改 修改注册表可能会造成您的系统崩溃或数据丢失,请先行备份操作系统,以备不测!!! 备份注册表步骤: 1.在“桌面”上按快捷键“Ctrl+R”,调出“运行” ...
- python 读取配置文件总是报错 configparser.NoSectionError: No section:
本文为作者原创,禁止转载,违者必究法律责任!!! python 读取配置文件总是报错 configparser.NoSectionError: No section: 无论是 python2的版本,还 ...
- Python读取配置文件,并连接数据库SQL Server
用配置文件保存固定的连接数据,改的话比较方便. 1.新建一个配置文件:SQlconfig.config,以数据库为例. 内容如下,当然也可以添加多个 [Database1] database=db_t ...
- python读取配置文件的方式
python读取配置文件的方式 1.从config.ini中读取,后缀无所谓,文件名字也无所谓,不过config.ini是常用写法,所谓见名知意 config.ini内容: [global] ip = ...
- Python 读取写入配置文件 —— ConfigParser
Python 读取写入配置文件 —— ConfigParser Python 读取写入配置文件很方便,可使用内置的 configparser 模块:可查看源码,如博主本机地址: “C:/python2 ...
- python读取配置文件(ini、yaml、xml)
python读取配置文件(ini.yaml.xml)
- python读取ini配置文件的示例代码(仅供参考)
这篇文章主要介绍了python读取ini配置文件过程示范,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 安装 pip install configp ...
随机推荐
- ckeditor文本对齐方式添加,图片上传
最近用的AdminBSBMaterialDesign-master模板,里边用到了ckeditor编辑器 但发现里边没有基本的文本对齐方式,找了好一会,好多方法都不管用,最后在config.js中添加 ...
- 静态代码扫描之阿里java代码规范IDEA插件
前言 2017年2月9日,首次公布<阿里巴巴Java开发手册>; 2017年9月25日,阿里巴巴集团发布了<阿里巴巴Java开发手册>PDF终极版; 2017年10月14日,在 ...
- 在Mac上安装office2016(破解版)
doffice2016下载地址: 链接:https://pan.baidu.com/s/1V6I_QQiK2VK1rf0v4aVk5g 密码:3ijf 执行破解程序: 链接:https://pan. ...
- 微信中打开链接,自动打开外部浏览器打开指定URL页面
上半年公司有一个新的APP项目上线,我们在项目首页做个二维码,然后用户用手机扫一扫就能下载了.但是很多用户反映扫一扫之后下载不了,了解之后才知道这些用户都是使用的微信的扫一扫,而我们开发测试人员一般使 ...
- unity中多个门的开关动画保持独立性
List<Animation> storeAnimation; public void Awake() { storeAnimation = new List<Animation&g ...
- JAVA EE 的学习目标
本学期是大三下学期,是一个很关键的学习期.在这里定下一个短期的目标. 职业发展目标:我的职业目标其实不是计算机方向,我是准备考公.但是,作为第二手专业打算,如果考公务员失败,我根据我的性格来分析我会选 ...
- java 的重写(覆盖) 和重载的区别
方法的的重写(覆盖) 在类继承中,子类可以修改从父类继承来的行为,也就是说子类能创建一个与父类方法有不同功能的方法,但具有相同的:名称.返回类型.参数列表.如果在子类中定义一个方法,其方法名称.返回值 ...
- ESP32搭建4.esp32官方程序下载与串口读取
上一篇写到esp-idf的整体环境搭建,本文主要讲讲如何将examples中的例子烧写到ESP32的flash中,以及如何通过linux串口进行调试. 一. Esp32程序下载 1.Ctrl+Alt+ ...
- spring cloud + spring boot + springmvc+mybatis分布式微服务云架构
做一个微服务架构需要的技术整理: View: H5.Vue.js.Spring Tag.React.angularJs Spring Boot/Spring Cloud:Zuul.Ribbon.Fei ...
- nginx配置ssl证书
一:加装nginx的ssl模块 1.1:切换到源码包 cd /zz/nginx-1.14.2 1.2:查看已安装模块 /usr/local/nginx/sbin/nginx -V [root@game ...