Ich habe eine Inventardatei des Formats.ConfigParser Listet Hosts in verschiedenen Abschnitten einer Inventardatei auf?
Ich möchte Hosts aus verschiedenen Abschnitten der Datei lesen können. Zum Beispiel um alle Abschnitte aufzulisten, die ich ausprobiert habe.
import ConfigParser
parser = ConfigParser.ConfigParser()
parser.read('hosts.cfg')
parser.sections()
Aber das druckte alle Server mit den folgenden Fehlern.
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'
Sie sagen, ich bin gezwungen, ein Schlüssel-Wert-Paar zu haben? Ich habe versucht, mit der Option allow_no_value, aber ich denke, es wird dies nicht akzeptieren, weil ich Python 2.6 verwende. – rahimbah
Ja, es muss ein Schlüssel-Wert-Paar sein. Sie können mehrere Werte pro Taste ausführen, obwohl key = value1, value2, value3. Der allow_no_value soll Schlüssel ohne Werte akzeptieren. –
FYI: Sieht hier aus wie eine ähnliche Frage: http://stackoverflow.com/questions/17342045/configparser-and-section-with-values-without-keys –