首页 > 编程语言 > 详细

像使用属性一样来操作Python字典

时间:2020-10-25 11:03:22      阅读:25      评论:0      收藏:0      [点我收藏+]

背景

工作中需要从DB中或者文件中读取配置信息,解析成一个多重嵌套的复杂字典供项目使用。每次取值和更新的时候都比较麻烦,取下标需要捕获KeyError,用get多取几层又觉得不够优雅。于是采用addict包将普通的字典转化成一个对象,通过属性的方式赋值取值。使得后续操作更加简便且易读,还可以预防不必要的异常出现,强烈推荐。

介绍

文档:https://github.com/mewwts/addict/blob/master/README.md

字面理解就是高级字典(我猜的,逃),在dict的基础上封装了一层,使其能够像操作属性一样使用字典。官方打趣说是用完能让你上瘾的好东西(笑)。

下载

pip install addict

基本使用

from addict import Dict

configs = Dict()

configs.platform.status = "on"
configs.platform.web.task.name = "测试-1204"
configs.platform.web.periods.start = "2020-10-01"
configs.platform.web.periods.end = "2020-10-31"

效果如下

task_configs = {
    "status": "on",
    "platform": {
        "web": {
            "task": {
                "name": "测试-1204"
            },
            "periods": {
                "start": "2020-10-01",
                "end": "2020-10-31"
            }
        }
    }
}

获取不存在的key时会返回一个空字典,不用担心报KeyError

app_configs = configs.platform.app
assert app_configs == {}

像使用属性一样来操作Python字典

原文:https://www.cnblogs.com/kangyuqi/p/13871693.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!