【发布时间】:2017-08-26 02:14:50
【问题描述】:
我的 file.ini 结构如下:
item1 = a,b,c
item2 = x,y,z,e
item3 = w
我的 configParser 设置如下:
def configMy(filename='file.ini', section='top'):
parser = ConfigParser()
parser.read(filename)
mydict = {}
if parser.has_section(section):
params = parser.items(section)
for param in params:
mydict[param[0]] = param[1]
else:
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
return mydict
现在“mydict”正在返回字符串的键值对,即:
{'item1': 'a,b,c', 'item2': 'x,y,e,z', 'item3':'w'}
如何更改它以将值作为列表返回?像这样:
{'item1': [a,b,c], 'item2': [x,y,e,z], 'item3':[w]}
【问题讨论】:
-
您可以继承
ConfigParser并覆盖_read方法以及更新RawParser.OPTCRE正则表达式(用于解析选项行)。但最简单和最可靠的方法可能是在您的代码中使用.split(',')。 -
将 .split(',') 添加到 param[1] 有效!如果您想回答这个问题,我会将其标记为已接受。
标签: python parsing dictionary config ini