我有一个像这样结构的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]}
答案 0 :(得分:1)
您可以对解析后的数据使用split
来拆分列表。
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].split(',')
else:
raise Exception('Section {0} not found in the {1} file'.format(section, filename))
return mydict
如果需要,如果列表只有一个值,则可以添加一些逻辑以转换回单个值。或者在拆分之前检查值中的逗号。