python函数——Bunch配置加载
文章目录
- 0 前言
- 1 Bunch 教程
- 1.1 初始化
- 1.2 继承Dict 的使用用法
- 1.3 序列化
- 2 接口封装
python函数 系列目录:python函数——目录
0 前言
在Python开发中,经常将配置文件以json 的形式写在文件中
Bunch
可以将配置文件转换为配置类和配置字典。1
1 Bunch 教程
1.1 初始化
>>> b = Bunch()
>>> b.hello = 'world'
>>> b.hello
'world'
>>> b['hello'] += "!"
>>> b.hello
'world!'
>>> b.foo = Bunch(lol=True)
>>> b.foo.lol
True
>>> b.foo is b['foo']
True
1.2 继承Dict 的使用用法
2
>>> b.keys()
['foo', 'hello']
>>> b.update({ 'ponies': 'are pretty!' }, hello=42)
>>> print repr(b)
Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')
>>> [ (k,b[k]) for k in b ]
[('ponies', 'are pretty!'), ('foo', Bunch(lol=True)), ('hello', 42)]
>>> "The {knights} who say {ni}!".format(**Bunch(knights='lolcats', ni='can haz'))
'The lolcats who say can haz!'
1.3 序列化
>>> b = Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')
>>> import json
>>> json.dumps(b)
'{"ponies": "are pretty!", "foo": {"lol": true}, "hello": 42}'
>>> b = Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')
>>> import yaml
>>> yaml.dump(b)
'!bunch.Bunch\nfoo: !bunch.Bunch {lol: true}\nhello: 42\nponies: are pretty!\n'
>>> yaml.safe_dump(b)
'foo: {lol: true}\nhello: 42\nponies: are pretty!\n'
2 接口封装
import json
from bunch import Bunchdef get_config_from_json(json_file):"""将配置文件转换为配置类:param json_file: json文件:return: 配置信息"""with open(json_file, 'r') as config_file:config_dict = json.load(config_file) # 配置字典config = Bunch(config_dict) # 将配置字典转换为类return config, config_dict
https://juejin.im/post/5aded5b7518825671b022c18 ↩︎
https://pypi.org/project/bunch/ ↩︎
python函数——Bunch配置加载相关推荐
- python函数 模块先加载到内存后执行_Python从内存中使用编译后的模块
在Windows编程的时候,有些时候,我们经常会要使用一些非常规的方法,比如说从内存中加载DLL,然后使用DLL中的函数.于是就思索在用Python的时候是否能够将几个编译好的Pyc合并成一个,然后使 ...
- Nginx配置及配置加载
Nginx配置(Directives) Nginx默认配置 worker_processes 1;events {worker_connections 1024; }http {include mim ...
- python使用openCV图像加载(转化为灰度图像)、使用filter2D函数对图像进行锐化(Sharpen Images)
python使用openCV图像加载(转化为灰度图像).使用filter2D函数对图像进行锐化(Sharpen Images) 目录
- Python之pandas数据加载、存储
Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...
- Soul网关源码阅读(九)插件配置加载初探
Soul网关源码阅读(九)插件配置加载初探 简介 今日来探索一下插件的初始化,及相关的配置的加载 源码Debug 插件初始化 首先来到我们非常熟悉的插件链调用的类: SoulWebHa ...
- Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)
Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...
- 关于flume配置加载(二)
为什么翻flume的代码,一方面是确实遇到了问题,另一方面是想翻一下flume的源码,看看有什么收获,现在收获还谈不上,因为要继续总结.不够已经够解决问题了,而且确实有好的代码,后续会继续慢慢分享,这 ...
- python使用openCV图像加载(转化为灰度图像)、Canny边缘检测器检测图像的边缘(Detect Edges)
python使用openCV图像加载(转化为灰度图像).Canny边缘检测器检测图像的边缘(Detect Edges) 目录
- 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)
1.外部配置加载顺序 SpringBoot也可以从以下位置加载配置: 优先级从高到低 高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置 1.命令行参数 所有的配置都可以在命令行上进行指定 ...
- 配置文件加载位置||外部配置加载顺序||自动配置原理
配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...
最新文章
- android中进程的优先级
- 在Simulink中创建库
- 不得自行对涉密计算机进行格式化,保密资格认证-涉密人员考试试题
- 传说中的CAFEBABE到底在哪儿?
- 关于Java中serialUID的序列化的问题
- 2.11 queue
- React开发(274):ant design table额外展开行
- Cookie、Session、Token、JWT分别是什么(二)
- 定位属性的布局网页html,css布局基础:定位综合练习
- HR问我为什么要离开上一家公司钱没给到位,心委屈了。这些归根到底就一条:干得不爽。
- 进制转换 [2008年北京大学图形实验室计算机研究生机试真题]
- “UNIX的名字是我起的”——对话UNIX开发者Brian W. Kernighan
- 基于卷积神经网络的草莓病害检测(新数据+基础算法?=SCI)
- viewport属性
- java sha加密算法_Java加密 消息摘要算法SHA实现详解
- 习题合集-数据结构导论
- enfp工具箱怎么用_小丸工具箱使用技巧详细图解,值得各位学习
- 旧式有线打印机联网探索
- 计算机思维的概念知识点,思维的基本特征知识点的理解
- [5211]:Mutiple