首页 > 解决方案 > Python - 解析 INI 文本(不是 INI 文件)

问题描述

我有一个案例,我得到一个 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'

我尝试使用 python 中的 configParser 库解析这个字符串:

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

使用读取功能我什么也得不到。有没有其他方法可以实现这一目标?

提前致谢!

更新 - 忘了补充说我正在使用 Python 2。

标签: pythonstringiniconfigparser

解决方案


您必须使用read_string才能解析字符串。

那么你必须在“config”对象上使用getter,例如:

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

或者

>>> config.getfloat(config.default_section, 'Score')
0.1

推荐阅读