bunch是一个支持属性样式访问的字典,一个la javascript。>>> 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

字典方法

bunch是dict的一个子类;它支持adict所做的所有方法:>>> b.keys()

['foo', 'hello']

包括update():>>> 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)]

和“splats”:>>> "The {knights} who say {ni}!".format(**Bunch(knights='lolcats', ni='can haz'))

'The lolcats who say can haz!'

序列化

愉快地和透明地串接到json和yaml。>>> b = Bunch(foo=Bunch(lol=True), hello=42, ponies='are pretty!')

>>> import json

>>> json.dumps(b)

'{"ponies": "are pretty!", "foo": {"lol": true}, "hello": 42}'

如果存在json支持(json或simplejson),则Bunch将有一个toJSON()方法,该方法将对象作为json字符串返回。

如果您安装了PyYAML,bunch会尝试用各种yaml表示注册自己,以便可以透明地转储和加载bunch。>>> 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'

此外,bunch实例将有一个toYAML()方法,该方法使用yaml.safe_dump()返回yaml字符串。这个方法还可以替换__str__,因为我发现它更具可读性。您可以通过一个简单的赋值返回到python默认使用的__repr__。bunch类还有一个静态方法Bunch.fromYAML(),它从yaml字符串中加载一个bunch。

最后,bunch可以方便地递归地转换为(unbunchify(),Bunch.toDict())和(bunchify(),Bunch.fromDict())一个普通的dict,这样就很容易以其他格式对它们进行干净的序列化。

其他从这个模块import *是安全的。您将得到:Bunch、bunchify和unbunchify。

大量的博士学位:$ python -m bunch.test -v

欢迎加入QQ群-->: 979659372

推荐PyPI第三方库

python bunch制作可导入数据_Python bunch包_程序模块 - PyPI - Python中文网相关推荐

  1. python 编译成exe vmp加密_Python vmp包_程序模块 - PyPI - Python中文网

    vmpy是评估typical的工具箱. 骑行性能指标来自骑行数据,如功率.心率.速度, 梯度,节奏流. 包中的所有函数都遵循惯例,其中输入/输出 格式要么是传统的python内置数据结构 或者是nd数 ...

  2. python renamer模块_Python smart-image-renamer包_程序模块 - PyPI - Python中文网

    使用包含在中的exif数据智能地批量重命名图像的脚本 安装 要安装智能图像重命名程序: 推荐的方法是通过pip.pip install smart-image-renamer 否则像其他python包 ...

  3. python安装email模块_Python byemail包_程序模块 - PyPI - Python中文网

    这是什么? byemail是个人邮件系统的完整堆栈,包括smtp接收器.发送者.webmail, 邮件列表等.只安装一个工具来管理它们. 电子邮件在今天仍然是一种流行的交流方式.我们使用电子邮件在公司 ...

  4. python3.8自带matlop和numpy吗_Python enlop包_程序模块 - PyPI - Python中文网

    enlopy是一个开放源码的python库,其中包含要生成的方法, 处理.分析和绘制与能源相关的时间序列. 虽然它可以用于任何类型的数据,但它的重点是 与能源有关,即电力/热量需求或发电, 价格等.这 ...

  5. python queue模块安装_Python queue包_程序模块 - PyPI - Python中文网

    沃特?另一个消息队列? 考虑到消息队列的激增,人们可能倾向于相信 发明更多不是答案.使用现有的解决方案是 多次尝试与大多数现有的消息队列产品. 其他的失败(对于我们的用例). queuey是用来处理大 ...

  6. python类型提示模块包_Python checktypes包_程序模块 - PyPI - Python中文网

    checktypes软件包 用于创建实用程序类的库,为类型提供了良好的抽象 检查和数据验证. 基本示例 创建 面向对象的api 在要继承的CheckType旁边选择一个基类并定义一个predicate ...

  7. python下载matplotlib.finance模块_Python pyfinance包_程序模块 - PyPI - Python中文网

    PyFinance pyfinance是一个python包,用于投资管理和安全回报分析. 它是对面向量化金融的现有软件包的补充,例如pyfolio, 熊猫数据读取器,以及fecon235 支持巨蟒3. ...

  8. python游戏csgo开挂_Python csgo-menu-maker包_程序模块 - PyPI - Python中文网

    csgo菜单生成器 从不是Github的地方来这里?查看Quick-Start Guide! 关于 源(TM)引擎有一个控制台命令系统,当正确使用时,该系统非常强大.我用它创建了一个菜单和小部件系统, ...

  9. mysql金库模式_Python vault-anyconfig包_程序模块 - PyPI - Python中文网

    vaultanyconfig " rel="nofollow"> 使用加载和转储功能扩展hvac hashicorp vault客户端任何配置.这允许自动混合来自保 ...

  10. python 数据结构包_Python Redistr包_程序模块 - PyPI - Python中文网

    四.许可证 此项目有两个许可证,请选择一个或两个许可证.尽管没有必要,但我们欢迎并赞赏错误报告或功能改进.作者的属性.如何使用此程序的信息:-)愉快的编码 [BSD-2条款许可证] 版权所有2018 ...

最新文章

  1. 想快速入门NLP?我们测评了15门最火课程,帮你找到最适合的
  2. 【工作感悟】mysql授权root远程访问
  3. CSS 3 中的伪类选择器
  4. 高级程序员和低级程序员的区别
  5. 驰骋表单设计器 设计表单案例演示
  6. linux-Centos7安装nginx
  7. db2 某个字段排序_MySQL、Oracle、DB2等数据库常规排序、自定义排序和按中文拼音字母排序...
  8. MySql 性能优化
  9. mysql5.6+master+date_MySQL5.6的4个自带库详解
  10. 别再用代码开发了,整理了30套实用可视化大屏模板,无套路直接领
  11. .Net Micro Framework研究—串口操作
  12. python map对象
  13. python变量存为matlab,将matlab变量导出为python用法的文本
  14. PHP trim()的使用
  15. 技术驱动创新,阿里云开启云网络3.0时代
  16. 翻译:吴恩达开启我在AI工作中的新篇章
  17. 在线class文件反编译java
  18. Java第三方库——Jep数学公式计算
  19. 电子工程师私藏的一个网站
  20. JAVA核心知识点--元注解详解

热门文章

  1. android编译生成apk文件怎么打开,android studio生成apk在哪?
  2. linux常用命令(2)关机重启 文本编辑器 系统管理 软件安装
  3. 画图清空画布,怎样将Word中会出现的绘图画布删除掉?
  4. 那个职员建议他们去计算机博物馆英语,第三单元重点句子
  5. 庚子新年玩扫雷(模拟)(东北农业大学庚子新年欢乐赛)
  6. Flutter入门综合练习
  7. 仿网易云音乐的YY音乐微信小程序源码
  8. 用计算机弹奏天下,天下手游大荒怪题答题器 大荒怪题题库及答案大全
  9. 哈希算法----猜词游戏
  10. 从知名外企到创业公司做CTO是一种怎样的体验?