我有一个格式的库存文件。
[web]
web1
web2
web3
[loadbalancer]
lb1
lb2
lb3
[admin]
adm1
adm2
adm3
我希望能够从文件的各个部分读取主机。例如,列出我尝试的所有部分。
import ConfigParser
parser = ConfigParser.ConfigParser()
parser.read('hosts.cfg')
parser.sections()
但这会打印出所有服务器,并出现以下错误。
Traceback (most recent call last):
File "./server_audit.py", line 55, in <module>
parser.read('hosts.cfg')
File "/usr/lib64/python2.6/ConfigParser.py", line 286, in read
self._read(fp, filename)
File "/usr/lib64/python2.6/ConfigParser.py", line 510, in _read
raise e
ConfigParser.ParsingError: File contains parsing errors: hosts.cfg
[line 2]: 'web1\n'
[line 3]: 'web2\n'
[line 4]: 'web3\n'
[line 7]: 'lb1\n'
[line 8]: 'lb2\n'
[line 9]: 'lb3\n'
[line 12]: 'adm1\n'
[line 13]: 'adm2\n'
[line 14]: 'adm3\n'
答案 0 :(得分:1)
配置文件需要具有以下形式:
[web]
web1 = value1
web2 = value2
web3 = value3
等
因此,左侧是用于查找的“键”。右侧是该键的值。例如:
[web]
web1 = http://www.example.org