python - अपाचे कॉन्फ़िग फ़ाइलों को पार्स करने के लिए कोई अजगर लिब्स?




parsing apache-config (4)

अपाचे कॉन्फ़िग फाइल को पार्स करने के लिए या अगर अन्य भाषाओं में ऐसी चीज़ से परिचित होने वाले अजगर को कोई पद्य लिनक्स (पर्ल, पीएचपी, जावा, सी #) नहीं है? जैसा कि मैं अजगर में उन्हें फिर से लिखने में सक्षम हो जाएगा।


कोई पायथन पुस्तकालय मौजूद नहीं है जो मुझे पता है, लेकिन यहां एक पर्ल है: 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.

यदि आप इसे अजगर में लिखना चाहते हैं, तो कृपया अपने पैकेज को पीईपीआई पर नाम देने के लिए अपनी पोस्ट अपडेट करें! :)


ZConfig, मुझे लगता है, अपाचे विन्यास फाइल पार्स करने के लिए एक स्कीमा के साथ जहाज करने के लिए इस्तेमाल किया; यह अब और नहीं लगता है, लेकिन यह उन प्रकार की फाइलों को पार्स करने के लिए उन्मुख है और एक पायथन ऑब्जेक्ट में कॉन्फ़िग को बदल रहा है। प्रलेखन पर एक त्वरित नज़र यह पता चलता है कि आप जितनी भी अपाचे विकल्प को पार्स और मान्य करना चाहते हैं, उसके मुकाबले एक ZConfig स्कीमा सेट करना बहुत मुश्किल नहीं होगा।

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


मुझे अजगर के लिए एक दिलचस्प अपाचे कॉन्फ़ेस पार्सर मिला है: http://www.poldylicious.de/node/25

वर्णित अपाचे कॉन्फ़िगर पर्सर प्रलेखित नहीं है, लेकिन यह काम करता है।


एक नया पार्सर भी जारी किया गया है।

यह अभी भी प्रलेखन की कमी है, हालांकि समझने के लिए काफी सीधा है।

उदाहरण

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]
    }
)




apache-config