Python - анализировать INI-текст (не INI-файл) - PullRequest
0 голосов
/ 04 октября 2018

У меня есть случай, когда я получаю строковую версию INI-файла, а не сам файл.Я получаю это таким образом из внешнего источника и, следовательно, не может быть изменено.

Пример версии строки:

'[DEFAULT]\nScore = 0.1\n\n[dev]\nHost = abc.com\nPort = 0000\n\n[qa]\nHost = xyz.com\nEsPort = 1000\n\n[main]\nHost = pqr.com\nPort = 2000\n'

Я попытался проанализировать эту строку, используя библиотеку configParser в python:

>>> config = configparser.ConfigParser()
>>> config.read(my_ini_str)
[]

Я ничего не получаю с функцией чтения,Есть ли другой способ добиться этого?

Заранее спасибо!

ОБНОВЛЕНИЕ - Забыл добавить, что я использую Python 2.

Ответы [ 2 ]

0 голосов
/ 04 октября 2018

вам нужно использовать read_string для разбора строки.

тогда вам нужно использовать геттеры для объекта "config", такие как:

>>> config.get('dev', 'Host')
'abc.com'

или

>>> config.getfloat(config.default_section, 'Score')
0.1
0 голосов
/ 04 октября 2018

Для этого используется метод read_string().

Разбор данных конфигурации из строки.

Следовательно:

>>> config = configparser.ConfigParser()
>>> config.read_string(my_ini_str)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...