任何用于解析apache配置文件的python库?

时间:2008-10-25 23:36:53

标签: python parsing apache-config

用于解析apache配置文件的任何python库,或者如果没有python任何人在其他语言中知道这样的东西(perl,php,java,c#)? 因为我将能够在python中重写它们。

6 个答案:

答案 0 :(得分:7)

我在这里找到了一个有趣的Apache Config解析器:http://www.poldylicious.de/node/25

提到的Apache Config Parser没有记录,但确实有效。

答案 1 :(得分:3)

Red Hat的Emerging Technologies小组有Augeas(用C编写,但有Python绑定可用),这是一个通用的系统配置工具,带有“镜头”,用于读写几种不同的配置文件格式。我会考虑调查Apache镜头的可用性。

答案 2 :(得分:3)

截至2016年,有一个新的图书馆使用pyparsing编写:

https://pypi.python.org/pypi/parse_apache_configs/

有一些粗糙的边缘,但允许我添加指令并保存到新文件。

来自https://github.com/alextricity25/parse_apache_configs

答案 3 :(得分:1)

我知道没有Python库,但这里有一个perl: http://packages.debian.org/sid/libapache-configfile-perl

Package: libapache-configfile-perl
Priority: optional
Section: interpreters
Installed-Size: 124
Maintainer: Michael Alan Dorman
Version: 1.18-1
Depends: perl (>= 5.6.0-16)
Description: Parse an Apache style httpd.conf configuration file

This module parses the Apache httpd.conf, or any
compatible config file, and provides methods for
you to access the values from the config file.

如果您在Python中重写它,请更新您的帖子,在PyPI上提及您的包名称! :)

答案 4 :(得分:1)

还发布了一个新的解析器。

它仍缺乏文档,但理解起来非常简单。


实施例

import apache_conf_parser
import pprint

DEFAULT_VHOST = '/etc/apache2/sites-available/000-default.conf'

vhost_default = apache_conf_parser.ApacheConfParser(DEFAULT_VHOST)

print vhost_default.nodes
print vhost_default.nodes[0].body.nodes

pprint.pprint( 
    {
        i.name: [i.arguments for i in vhost_default.nodes[0].body.nodes]
    }
)

答案 5 :(得分:0)

我认为,ZConfig过去常常附带用于解析Apache配置文件的模式;它似乎不再存在,但它的目标是解析这些类型的文件并将配置转换为Python对象。快速浏览文档表明,设置与您要解析和验证的任何Apache选项相对应的ZConfig架构并不会太难。

http://pypi.python.org/pypi/ZConfig/2.6.0