解析 dhcpd.conf 文件的最佳方法是什么?
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())
该模块使字典以选项为键,选项旁边的字符串作为字典的值。但如果选项看起来像这样,它就不能很好地工作:
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'}
用那个或其他模块做得更好的方法是什么?谢谢