代码之家  ›  专栏  ›  技术社区  ›  daniels

有分析apache配置文件的python libs吗?

  •  11
  • daniels  · 技术社区  · 16 年前

    用于解析Apache配置文件的任何Python LIBs,或者如果不是Python,任何人都知道其他语言(Perl、PHP、Java、C**)吗? 因为我可以用python重写它们。

    6 回复  |  直到 8 年前
        1
  •  7
  •   Nick Wilkens    15 年前

    我在这里找到了一个有趣的针对python的apache配置解析器: http://www.poldylicious.de/node/25

    上面提到的ApacheConfig解析器没有文档记录,但它确实起作用。

        2
  •  3
  •   Charles Duffy    16 年前

    红帽新兴技术集团 Augeas (用C语言编写,但有可用的python绑定),一个通用的系统配置工具,带有“镜头”,用于读取和写入几种不同的配置文件格式。我会考虑为Apache研究透镜的可用性。

        3
  •  2
  •   geographika    8 年前

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

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

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

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

        4
  •  1
  •   Michael Gundlach    16 年前

    我不知道有什么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上提到您的包的名称!:)

        5
  •  1
  •   VisioN    9 年前

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

    它仍然缺乏文档,但是理解起来相当简单。


    例子

    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]
        }
    )
    
        6
  •  0
  •   James Bennett    16 年前

    我认为,zconfig以前提供了一个用于解析Apache配置文件的模式;现在似乎不再提供了,但它的目标是解析这些类型的文件,并将配置转换为python对象。快速浏览一下文档就可以发现,要建立一个zconfig模式来对应于您想要解析和验证的任何Apache选项并不难。

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

    推荐文章