文章目录

  • 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

  1. https://juejin.im/post/5aded5b7518825671b022c18 ↩︎

  2. https://pypi.org/project/bunch/ ↩︎

python函数——Bunch配置加载相关推荐

  1. python函数 模块先加载到内存后执行_Python从内存中使用编译后的模块

    在Windows编程的时候,有些时候,我们经常会要使用一些非常规的方法,比如说从内存中加载DLL,然后使用DLL中的函数.于是就思索在用Python的时候是否能够将几个编译好的Pyc合并成一个,然后使 ...

  2. Nginx配置及配置加载

    Nginx配置(Directives) Nginx默认配置 worker_processes 1;events {worker_connections 1024; }http {include mim ...

  3. python使用openCV图像加载(转化为灰度图像)、使用filter2D函数对图像进行锐化(Sharpen Images)

    python使用openCV图像加载(转化为灰度图像).使用filter2D函数对图像进行锐化(Sharpen Images) 目录

  4. Python之pandas数据加载、存储

    Python之pandas数据加载.存储 0. 输入与输出大致可分为三类: 0.1 读取文本文件和其他更好效的磁盘存储格式 2.2 使用数据库中的数据 0.3 利用Web API操作网络资源 1. 读 ...

  5. Soul网关源码阅读(九)插件配置加载初探

    Soul网关源码阅读(九)插件配置加载初探 简介     今日来探索一下插件的初始化,及相关的配置的加载 源码Debug 插件初始化     首先来到我们非常熟悉的插件链调用的类: SoulWebHa ...

  6. Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)

    Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3) 1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问 ...

  7. 关于flume配置加载(二)

    为什么翻flume的代码,一方面是确实遇到了问题,另一方面是想翻一下flume的源码,看看有什么收获,现在收获还谈不上,因为要继续总结.不够已经够解决问题了,而且确实有好的代码,后续会继续慢慢分享,这 ...

  8. python使用openCV图像加载(转化为灰度图像)、Canny边缘检测器检测图像的边缘(Detect Edges)

    python使用openCV图像加载(转化为灰度图像).Canny边缘检测器检测图像的边缘(Detect Edges) 目录

  9. 3springboot:springboot配置文件(外部配置加载顺序、自动配置原理,@Conditional)

    1.外部配置加载顺序 SpringBoot也可以从以下位置加载配置: 优先级从高到低 高优先级的配置覆盖低优先级的配置,所有的配置会形成互补配置  1.命令行参数 所有的配置都可以在命令行上进行指定 ...

  10. 配置文件加载位置||外部配置加载顺序||自动配置原理

    配置文件加载位置 SpringBoot会从这四个位置全部加载主配置文件:互补配置: 外部配置加载顺序 自动配置原理 1.自动配置原理: 1).SpringBoot启动的时候加载主配置类,开启了自动配置 ...

最新文章

  1. android中进程的优先级
  2. 在Simulink中创建库
  3. 不得自行对涉密计算机进行格式化,保密资格认证-涉密人员考试试题
  4. 传说中的CAFEBABE到底在哪儿?
  5. 关于Java中serialUID的序列化的问题
  6. 2.11 queue
  7. React开发(274):ant design table额外展开行
  8. Cookie、Session、Token、JWT分别是什么(二)
  9. 定位属性的布局网页html,css布局基础:定位综合练习
  10. HR问我为什么要离开上一家公司钱没给到位,心委屈了。这些归根到底就一条:干得不爽。
  11. 进制转换 [2008年北京大学图形实验室计算机研究生机试真题]
  12. “UNIX的名字是我起的”——对话UNIX开发者Brian W. Kernighan
  13. 基于卷积神经网络的草莓病害检测(新数据+基础算法?=SCI)
  14. viewport属性
  15. java sha加密算法_Java加密 消息摘要算法SHA实现详解
  16. 习题合集-数据结构导论
  17. enfp工具箱怎么用_小丸工具箱使用技巧详细图解,值得各位学习
  18. 旧式有线打印机联网探索
  19. 计算机思维的概念知识点,思维的基本特征知识点的理解
  20. [5211]:Mutiple

热门文章

  1. Python:监控键盘输入、鼠标操作,并将捕获到的信息记录到文件中 (转)
  2. 从零开始教你用Unity做一个自动感应门
  3. macOS Big Sur 11.6.6 (20G624) 正式版 ISO、PKG、DMG、IPSW 下载
  4. C语言中宏定义函数的运算优先级问题
  5. EOF in header-net core
  6. 怎么搜索百度网盘的资源
  7. 微信小程序新版本提示更新
  8. 密码加密md5和加盐处理
  9. 【宝藏系列】如何解决word选中文字按backspace无法删除的问题
  10. 前端面试总结之长沙五