跳转到主要内容

读取bind-style配置文件

项目描述

简介

bicop 是一个用于处理ISC bind-style配置文件的Python库。这些是类似这样的嵌套结构:

datasource1 {
    server     "server1.your.domain";
    username   "client";
    password   "secret";
    extra {
        isolation "full";
    };
};

tables {
    "users";
    "groups";
};

解析

使用‘’parse’’方法进行解析是微不足道的

from bicop import parse
parse("/etc/bind/named.conf")

这返回一个包含从文件中读取的所有数据的标准Python字典。字典中的条目可以是其他字典或列表。

合并

一个常见的需求是能够支持配置的默认值,或者处理具有优先级的多个级别的配置,例如用户配置覆盖全局配置的条目。为了支持这一点,bicop有一个可以合并字典的实用方法。您可以使用它如下:

from bicop import parse
from bicop import merge

configuration=parse("/etc/application.conf")
userconfig=parse("/home/user/.application")
merge(configuration, userconfig, overwrite=True)

嵌套字典的轻松访问

这种格式的配置文件可以有深度嵌套的结构。使用标准的Python字典访问这些结构略感不便。为了使这看起来更舒服,您可以使用NestedDict包装器

from bicop import parse
from bicop import NestedDict

configuration=NestedDict(parse("/etc/application.conf"))
print "Your signature is: %s" % configuration["profiles/user/signature"]

更改

1.0rc2 - 2009年8月2日

  • 将可选的dictclass参数添加到parse方法。这可以用于使用替代的字典类型,通常是排序字典。

  • 删除运行测试对nose的依赖。

  • 使用ez_setup在需要时自动安装setuptools。

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源代码分发

bicop-1.0rc2.tar.gz (9.6 kB 查看哈希值)

上传时间 源代码

由以下支持