请帮我通过Python脚本解析Nagios配置文件。 我获得了带有主机名的数组,并且需要解析文件并获取其成员。我怎样才能做到这一点?
这是我的代码:
import os
hostgroups=os.popen('grep hostgroup_name /var/log/nagios/objects.cache | cut -f3').read().split('\n')
for i in hostgroups[:-1]:
print i
如何再次解析文件或如何获取成员。 示例如下:
define hostgroup {
hostgroup_name test
alias test
members server1,server2
}
谢谢。
最佳答案
也许你应该使用 python 而不是 grep 来解析文件:
例如:
with open("/var/log/nagios/objects.cache") as nagiosFile:
hostgroups = {}
hostgroup_name = None
for line in nagiosFile.readlines():
if "hostgroup_name" in line:
hostgroup_name = line.split()[-1]
if "members" in line:
for members in line.split():
hostgroups[hostgroup_name] = members.split(",")
print hostgroups
关于python - 通过Python解析文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34359284/