12

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

4

6 回答 6

6

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

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

于 2010-03-15T22:27:46.260 回答
3

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

于 2008-10-26T05:12:34.983 回答
3

截至 2016 年有一个使用 pyparsing 编写的新库:

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

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

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

于 2017-05-10T12:04:13.173 回答
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 上提及您的包的名称!:)

于 2008-10-25T23:50:12.327 回答
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]
    }
)
于 2012-05-16T11:18:05.873 回答
0

我认为 ZConfig 曾经附带一个用于解析 Apache 配置文件的模式;它似乎不再存在,但它围绕解析这些类型的文件并将配置转换为 Python 对象。快速浏览一下文档表明,设置与您想要解析和验证的任何 Apache 选项相对应的 ZConfig 模式并不难。

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

于 2008-10-26T04:04:52.327 回答