首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python函数——Bunch配置加载

python函数——Bunch配置加载

作者头像
莫斯
发布于 2020-09-10 03:15:06
发布于 2020-09-10 03:15:06
1.1K00
代码可运行
举报
文章被收录于专栏:备份备份
运行总次数:0
代码可运行

0 前言

Python开发中,经常将配置文件以json 的形式写在文件中 Bunch可以将配置文件转换为配置类和配置字典。

1 Bunch 教程

1.1 初始化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> 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 的使用用法

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> 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 序列化

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> b = Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')
>>> import json
>>> json.dumps(b)
'{"ponies": "are pretty!", "foo": {"lol": true}, "hello": 42}'
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
>>> 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 接口封装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import json
from bunch import Bunch

def 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/
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/04/30 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
终结 Python 原生字典?这个库要逆天改命了
字典是 Python 中基础的数据结构之一,字典的使用,可以说是非常的简单粗暴,但即便是这样一个与世无争的数据结构,仍然有很多人 "看不惯它" 。
龙哥
2021/06/08
6090
Python中的xmltodict库:轻松处理XML数据,Web前端、配置文件必备知识
xmltodict是一个Python库,它提供了将XML数据转换为Python字典(以及将字典转换回XML)的功能。这个库非常适合处理需要解析或生成XML数据的应用程序,如Web服务客户端、配置文件读取器和数据转换器等。
小白的大数据之旅
2024/11/20
3510
快速API自动化测试
我们平时写API,时效性太慢了。而且花费的成本代价太高。特别是有严重的滞后性。当平台多,业务多,迭代多的时候,接口自动化实现出来的时候,黄花菜都凉了。
赵云龙龙
2019/11/30
8130
最全总结 | 聊聊 Python 数据处理全家桶(配置篇)
常用配件文件的处理方式,包含:JSON、ini / config、YAML、XML 等
AirPython
2020/10/23
1.1K0
最全总结 | 聊聊 Python 数据处理全家桶(配置篇)
Python字典到底有序还是无序?
老版本Python中的dict确实无序,你写的是a、b、c,输出却可能是c、b、a。
Crossin先生
2024/05/20
2090
Python字典到底有序还是无序?
Python 程序配置文件管理的最佳工程实践
最近在结合 Python-3.12.0a6 版本开发一个多线程架构的后台服务;服务启动时会读取配置文件,并且要求所有线程共享同一份配置。
初代庄主
2023/04/20
1.2K0
Python 程序配置文件管理的最佳工程实践
MMCV之Config注释详解
对 MMCV Config 类的结构记录一下,这个类主要是将 python dict 或者 json/yaml 文件中的 dict 对象转化成方便操作的 dict 对象,有些细节写的还是很好的,本文档用的 MMCV 的版本为 1.3.5
棒棒鸡不棒
2023/05/10
9700
整理了45个Python小技巧,非常实用!
今天给大家介绍一个Python备忘单,可以作为学习Python编程的快速参考指南。
小F
2023/12/11
2910
整理了45个Python小技巧,非常实用!
10个应该早点知道的Python技巧
我的这一生都在编程,但是我没有成为一名程序员。最初,我的大部分工作都是用Visual Basic来完成的,还包括一些其它语言工具,比如R语言,C语言、JavaScript等,这样实现起来最令人满意。几年前,我决定只用Python以至于我能提高自己到编程水平。我喜欢去解决问题,而不是重复的造轮子,这样子不需要考虑太多的事情。用Python去解决问题的效率真的非常高,解决了我一直在做的一些棘手的问题,多次出现了‘啊哈’灵机一动的瞬间。这里列出了10个Python技巧,如果我早点掌握它们,足以让我的生活更加轻松!
CDA数据分析师
2018/02/05
8640
python字符串内置函数
定义:它是一个有序的字符的集合,用于存储和表示基本的文本信息,‘’或“”或‘’‘ ’‘’中间包含的内容称之为字符串
用户7886150
2021/01/09
3310
深度学习 | Detectron2使用指南
Detectron2是Facebook AI Research的检测和分割框架,其主要基于PyTorch实现,但具有更模块化设计,因此它是灵活且便于扩展的,具体简介可见Github库和Meta AI Blog Post。
Justlovesmile
2022/03/22
7.2K0
深度学习 | Detectron2使用指南
回顾|Python中的数据结构
可对列表执行所有的标准序列操作,如索引、切片、拼接和相乘,但列表的有趣之处在于它不同于元组 是可以修改的。
用户3577892
2021/03/15
3.4K0
回顾|Python中的数据结构
从新手到专家:如何用Python编写配置文件
设计软件时,我们通常要花费很多精力编写高质量代码。但这还不够,一个好的软件还应关注它的生态系统,例如测试,部署,网络等,这其中最重要的一方面就是配置管理。
程序员小强
2021/04/14
7.4K0
MaskRCNN-Benchmark(Pytorch版本)训练自己的数据以及避坑指南
首先要阅读官网说明的环境要求,千万不要一股脑直接安装,不然后面程序很有可能会报错!!!
大黄大黄大黄
2019/05/13
1.9K0
MaskRCNN-Benchmark(Pytorch版本)训练自己的数据以及避坑指南
Mask Rcnn目标分割-训练自己数据集-详细步骤[通俗易懂]
本文接着介绍了Mask Rcnn目标分割算法如何训练自己数据集,对训练所需的文件以及训练代码进行详细的说明。
全栈程序员站长
2022/11/09
4.6K1
Mask Rcnn目标分割-训练自己数据集-详细步骤[通俗易懂]
Ansible概要
检验清单是否正确。-i用于指定清单文件,all和master是被管理节点的模式(pattern)。
宅蓝三木
2024/10/09
5950
Ansible概要
[Python小脚本]Yaml配置文件动态加载
这里需要说明的是,常说的动态加载配置,一般基于观察者设计模式实现的发布/订阅系统,一般有两种模式,分别是推(Push)模式和拉(Pull)模式。
山河已无恙
2023/03/02
1.4K0
Python Tips, Tricks, and Hacks
一、快速技巧 1.1、4 种引号 '  '''  "  """  print """I wish that I'd never heard him say, '''She said, "He said, 'Give me five dollars'"'''""" 1.2、对象/变量的真与假 my_object = 'Test' # True example # my_object = '' # False example if len(my_object) > 0:     print 'my_
用户1177713
2018/02/24
1.3K0
[918]python使用yaml模块
python通过open方式读取文件数据,再通过load函数将数据转化为列表或字典;
周小董
2020/12/29
2.9K0
Python 读取配置文件常用几种方式
  我们在设计自动化测试框架的时候,经常使用到配置文件,而配置文件种类有很多,常见的配置文件格式有很多中:ini、yaml、xml、properties、txt、py等。
全栈测试开发日记
2023/02/02
2K0
Python 读取配置文件常用几种方式
相关推荐
终结 Python 原生字典?这个库要逆天改命了
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档