2013-10-06 1 views
2

Каков наилучший способ для анализа файла dhcpd.conf?Разбор файлов ISC с помощью python (dhcpd.conf) - iscpy module

ddns-update-style none; 
authoritative; 
option domain-name "example.org" 
option domain-name-servers ns1.example.org, ns2.example.org 


subnet 172.16.31.0 netmask 255.255.255.0 { 
    # default gateway 
    option routers 172.16.31.10; 
    option subnet-mask 255.255.255.0; 

    option domain-name "aaaaaa"; 
    option domain-name-servers 172.16.31.10; 
    #option nis-domain "domain.org"; 

    range dynamic-bootp 172.16.31.80 172.16.31.90; 
    default-lease-time 21600; 
    max-lease-time 43200; 

    host test { 
     hardware ethernet 00:23:8b:42:3f:d1; 
     fixed-address 172.16.31.3; 
    } 

} 

Я попытался iscpy модуль:

a = iscpy.ParseISCString(open('dhcpd.conf', 'r').read()) 

Этот модуль делает словарь с опцией как ключ и строку рядом с параметром в качестве значения Dict. Но это не работает хорошо, если опции выглядит следующим образом:

option domain-name "example.org" 
option domain-name-servers ns1.example.org, ns2.example.org 

Это должно быть:

{'option domain-name':'example.org', 'option domain-name-servers":'ns1.example.org, ns2.example.org'} 

Но выход есть:

{'option':'domain-name-servers: ns1.example.org, ns2.example.org'} 

ли способ сделать это лучше с этим или другой модуль? Благодаря

ответ

0

Я предлагаю прочитать dhcpd.conf «полностью», то в соответствии с каждой директивой сделать data structure, такие как dict, или класс, класс предпочитали, то вы можете разобрать данные.