Я хотел бы использовать следующий файл .ini
с ConfigParser
.Python: как читать конфигурационный файл только с ключами (без значений)
[Site1]
192.168.1.0/24
192.168.2.0/24
[Site2]
192.168.3.0/24
192.168.4.0/24
К сожалению, вызов read()
выводит следующее сообщение об ошибке:
import ConfigParser
c = ConfigParser.ConfigParser()
c.read("test.ini")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\ConfigParser.py", line 305, in read
self._read(fp, filename)
File "C:\Python27\lib\ConfigParser.py", line 546, in _read
raise e
ConfigParser.ParsingError: File contains parsing errors: test.ini
[line 2]: '192.168.1.0/24\n'
[line 3]: '192.168.2.0/24\n'
[line 6]: '192.168.3.0/24\n'
[line 7]: '192.168.4.0/24\n'
Я понимаю, что ожидаемый формат key = value
(а value
требуется).
Мои вопросы:
- является
ConfigParser
использовать для таких файлов? - если нет: есть ли хорошая альтернатива для разбора подобных файлов?
можно переформатировать файл конфигурации, но хотел бы сохранить простой, необработанный список записей в разделе - в отличие от подделки формат key = value
с чем-то вроде range1 = 192.168.1.0/24
У ConfigParser есть несколько вариантов при создании объекта. Я не помню сейчас. Поиск – Farhadix
@Farhadix: Я прочитал документы, упомянутые в моем сообщении. В них явно не упоминается возможность использовать значения без значения. Однако я узнал, что иногда существуют скрытые или менее очевидные способы делать вещи в Python :) и ii) Я надеюсь, что есть хорошая альтернатива простым файлам .ini, которые соответствуют моему формату. – WoJ
Комментируя мой комментарий: выясняется, что я, очевидно, должен улучшить свое чтение, так как документы говорят, что можно использовать записи без стоимости :) – WoJ