Apacheの設定ファイルを解析するためのPythonライブラリはありますか?

StackOverflow https://stackoverflow.com/questions/237209

  •  04-07-2019
  •  | 
  •  

質問

Apache設定ファイルを解析するためのPythonライブラリ、またはPythonでない場合は他の言語(perl、php、java、c#)でそのようなことを知っている人はいますか? 私はPythonでそれらを書き換えることができるので。

役に立ちましたか?

解決

Pythonの興味深いApache Configパーサーをここで見つけました: http://www.poldylicious.de/ node / 25

言及されたApache Config Parserは文書化されていませんが、機能します。

他のヒント

Red HatのEmerging Technologiesグループには、 Augeas (Cで記述されていますが、Pythonバインディングが使用可能)、汎用システムがあります「レンズ」を使用した構成ツールいくつかの異なる構成ファイル形式の読み取りおよび書き込み用。 Apacheのレンズの可用性を調査することを検討します。

pyparsingを使用して記述された2016年の新しいライブラリがあります:

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

いくつかのラフなエッジがありますが、ディレクティブを追加して新しいファイルに保存することができました。

https://github.com/alextricity25/parse_apache_configs

のソース

私が知っている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のパッケージ名を記載してください! :)

新しいパーサーも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]
    }
)

ZConfigは、Apache構成ファイルを解析するためのスキーマとともに出荷されていたと思います。もはやそうではないようですが、これらのタイプのファイルを解析し、設定をPythonオブジェクトに変換することに重点を置いています。ドキュメントを一目見れば、解析および検証したいApacheオプションに対応するZConfigスキーマをセットアップするのはそれほど難しくないことがわかります。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top