配置字典与yaml源和秘密支持

figtion的Python项目详细描述


配置包

为什么呢?

这是支持文本文件的最简单的配置接口。

优点

  • seemless pythondict接口
    • 统一配置定义和默认值
  • 用于文件系统输入和序列化的YAML文本文件源
  • 简单优先权
    • defaultskeys定义配置keys
    • yamlvalues覆盖defaultsvalues
  • 机密支持
    • 秘密保存到私人YAML
    • 来自公共yaml的自动更新

示例

配置定义和默认值

import figtion

defaults = {'my server'       : 'www.bestsite.web'
           ,'number of nodes' : 5
           ,'password'        : 'huduyutakeme4' }
cfg = figtion.Config(defaults=defaults,filepath='~/conf.yml')

print(cfg['my server'])  

这将打印“www.bestsite.web”,除非~/conf.yml中的“我的服务器”值有其他值。

配置机密

当你想要一个公共配置文件和一个单独的秘密文件时

cfg = figtion.Config(defaults=defaults,filepath='~/conf.yml',secretpath='/opt/creds.yml')
cfg.mask('password')

print(cfg['password'])

这将打印存储在/opt/creds.yml而不是~/conf.yml中的'password'的值如果在任意一个yaml文件中更改了'password'的值,则下次在python中加载该类时,将从~/creds.yml再次更新和屏蔽密码。 python类总是返回正确的值。

路线图

  • 0.9-秘密存储在单独的位置
  • 1.0-机密存储在加密位置

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
ElasticSearchJava客户端:Java。lang.OutOfMemoryError:无法创建新的本机线程   java仅选择一次jComboBox项,以便将行添加到jTable   数据结构在java中实现矩阵   java Jsoup从隐藏代码的html url读取   java从文件读取unicode行转换UTF8   java什么更便宜:减法还是更高的指数?   导出的GUI项目无法打开/运行,使用eclipse oxygen Java导出   在运行时验证Java错误   java如何处理“构建WebSocket失败:URL无效”的JavaScript异常?   java指定单向@OneToOne JPA映射的所有者   java如何查找训练错误或错误(D)和测试错误或错误(s)   现有工作簿中存在错误的单元格中的java Apache Poi值不会重新计算   java Android Studio Gradle CreateProcess错误=2   urlencode Java库,用于URL编码(如浏览器)   java如何跳过访问(重复)值的索引?   JScrollPane中的java图像原点位于JScrollPane原点之上   java joda时间消耗太多内存   java无法在Eclipse4.3.1开普勒中将double转换为double   java Hystrix CircuitBreakerSleepIndowWinMillicles无法按预期工作   java如果比较的两个对象都为null,equals方法应该返回什么?