处理保存为json文件的配置。

ConfigViper的Python项目详细描述


configviper是一组用于处理配置文件的Python类 以JSON格式保存例如:

from configviper import ConfigViper

ConfigViper.configure()

conf = ConfigViper()
conf.set('spam.ham.eggs', 'sausage')

json文件看起来像:

{
    "spam": {
        "ham": {
            "eggs": "sausage"
        }
    }
}

目标

  1. 易于定义默认值(避免在任何地方使用“默认值”);
  2. 在python和json类型之间编写转换器很简单(即使对于复杂的 python类型);
  3. 人工可编辑格式(json足够可读);
  4. 可移植配置格式(JSON足够可移植)
  5. 容易添加配置选项而不破坏现有选项;
  6. 可在应用程序代码中的任何地方访问(避免Singleton无聊的讨论);
  7. 小而简单。

安装

使用pip install ConfigViper命令安装ConfigViper如果你下载了 来自PyPI的源转到ConfigViper-<version>目录并键入 python setup.py install命令。你也可以从 BitBucket存储库(需要在 系统):

hg clone https://bitbucket.org/danielgoncalves/configviper

更多文档

有关用法示例和更多信息,请参阅 documentation在线提供。

许可

configviper在gnu的LGPL下获得许可。

更改历史记录

版本0.1

  • 2012年3月12日发布。

版本0.2

  • 2012年3月18日发布;
  • 托管在pypi上的文档。

版本0.3

  • 2012年4月14日发布;

  • 默认配置路径分隔符已从/更改为.

  • 可以像访问对象属性一样访问配置值:

    # using the get() method
    conf.get('spam.ham.eggs')
    
    # or like object attributes
    conf.spam.ham.eggs
    

版本0.3.1

  • 2012年4月18日发布;
  • [修正]当配置路径为 像对象属性一样访问
  • 访问配置路径时只创建一个代理实例 喜欢对象属性;
  • 又增加了一些单元测试。

版本0.4

  • 2012年4月25日发布;
  • [添加]停止保存(或批量设置)功能;
  • [添加]保存前备份,失败时自动还原(可选)。

版本0.5

  • 2013年8月24日发布;
  • [新增]支持基于fcntl的跨平台文件锁定的子包 在POSIX系统上或在Windows上使用cTypes(不支持95/98/me);
  • [添加]文件锁定写入操作;
  • [添加]支持日志记录;
  • [新增]支持文件编码(或无显式编码);
  • [添加]使用UTF-8作为默认文件编码;
  • [已更改]重新执行保存操作尝试最小化 并发访问问题
  • [已删除]备份选项;

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

推荐PyPI第三方库


热门话题
有没有一种方法可以将不同的java web应用程序组合到一个web应用程序(war)中而不相互影响?   java一次屏蔽两位   java如何在多个类上初始化元素?   java在后台服务中处理通知或使用GCM(或其他推送通知服务)   java从const方法调用JNI函数   javascript如何使用函数/方法返回?   Java优化:声明类变量与使用临时变量   java字符算术基数8 vs基数10   Java流收集要存储的对象列表   swing我正在用Java中的keyListener制作一个精灵移动器   在Gradle构建脚本中使用Scala(或java)方法   java Android Mediaplayer下一步按钮不起作用   Java Sound API在播放音频文件后将其锁定   java将变量从外部类传递到内部类的最佳方法   使用play framework的博客web应用程序出现java逻辑错误   java我们可以在Spring批处理中处理大型zip文件吗?   java如何检查JTable的选定行的特定列中的值是否已经在JList中?