1
У меня есть файл инвентаря формата.Список владельцев ConfigParser в разных разделах файла инвентаризации?
[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'
Вы говорите, что я вынужден иметь пару с ключом? Я пробовал использовать параметр allow_no_value, но я думаю, что он не примет этого, потому что я использую python 2.6. – rahimbah
Да, это должна быть пара ключ-значение. Вы можете сделать несколько значений на ключ, хотя key = value1, value2, value3. Значение allow_no_value должно принимать ключи без значений. –
FYI: Похож на аналогичный вопрос здесь: http://stackoverflow.com/questions/17342045/configparser-and-section-with-values-without-keys –