python 默认配置文件,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实现全局配置和用户配置文件

一.文件目录格式 二.代码 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 ...

随机推荐

asp.net MVC上传图片完整方法

图片上传 自动创建文件夹并重命名(带缩略图) 后台: [HttpPost] public ActionResult WanSell_UploadPicture(ProductGalleryModels ...

linux下搭建属于自己的博客(WordPress安装)

转自:http://www.cnblogs.com/xiaofengkang/archive/2011/11/16/2251608.html WordPress简介 WordPress 是一种使用 P ...

Redis优化总结

# 注意在redis.conf中的小聚合数据类型的特殊编码设置(http://carlosfu.iteye.com/blog/2254572)```hash-max-zipmap-entries 64 ...

openstack 前期准备工作

OS 是 centos6.5_X86_64 一.vmware 虚拟机 准备两台机虚拟机即可 二.导入第三方安装源 [root@openstack ~]# rpm -Uvh http://dl.fedo ...

Request、Request.Form和Request.QueryString的区别

Request.Form:获取以POST方式提交的数据(接收Form提交来的数据): Request.QueryString:获取地址栏参数(以GET方式提交的数据) Request:包含以上两种方式 ...

ERP 能够做什么

1. ERP 能解决既有物料短缺又有库存积压的库存管理难题 企业在管理库存问题上,经常处于两难之中. 要多存物料,肯定会积压资金:少存物料,又怕物料短缺,影响生产. 这样,物料的短缺和库存积压总是同时 ...

HTML5/CSS3动画应用

http://www.html5tricks.com/cool-html5-css3-animation.html

Winform 单实例运行

Winform 单实例运行 前言 前两天在博客园看到,文章写的很好,最后还留下一个问题给我们思考.关于Winform的防止多次运行,曾经也想研究过,但是后来工作上没 ...

解析与动作联动得SDN数据平面

一种解析与执行联动的SDN可编程数据平面 现有问题和目标 在传统协议处理方式中,各层的协议类型和组合方式固定,使得添加或修改协议很困难(因为需要修改网络设备的解析模式) 基于解析和执行联动结构的可编程 ...

分享一个14年写的用户管理类-swift版

AccountManager类 14年设计,从swift 0.9开始,迭代到现在swift4.0版本,总体几乎没什么改动,简单稳定. 其实现的思路主要还是借助之前net反射的经验,实现了自动保存用户信 ...

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值