gpt4 book ai didi

python - ConfigParser python 中的重复键

转载 作者:行者123 更新时间:2023-12-04 18:04:07 30 4
gpt4 key购买 nike

我正在尝试使用 configparser 从一个部分中提取重复的选项值。我搜索并尝试了提供的解决方案 here .这样,我就可以提取选项部分重复键的值。但是当我尝试使用函数 configparser.items() 提取名称:值对时,我没有得到任何值。

[server]
unix-user = ivmgr
root = 1
root = 2
root = 3

class MultiOrderedDict(OrderedDict):
def __setitem__(self, key, value):
if isinstance(value, list) and key in self:
self[key].extend(value)
else:
super(OrderedDict, self).__setitem__(key, value)

config = ConfigParser.RawConfigParser(dict_type=MultiOrderedDict)
config.read(['1.conf'])
print config.get("server", "unix-user")
print config.get("server", "root")
['ivmgr']
['1', '2', '3']
>>> print config.items("server")
[]

我希望能够将名称:值对提取为字典或元组,例如 { 'root':'1', 'root':'2', 'root':'3' }。我正在使用 python 2.7。我知道我可以使用 root 作为所有键来创建一个 dict 或集合列表,但我可能在同一部分中有更多重复键,我想要一种 pythonic 方式来执行此操作。

谢谢。

最佳答案

在Python 3.6.0中,dict类型提供keys方法可以让方法部分正常工作。目前我不知道为什么这里需要重新定义。 MultiOrderedDict 看起来像:

class MultiOrderedDict(OrderedDict):
def __setitem__(self, key, value):
if isinstance(value, list) and key in self:
self[key].extend(value)
else:
super(OrderedDict, self).__setitem__(key, value)
def keys(self):
return super(OrderedDict, self).keys()

关于python - ConfigParser python 中的重复键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30095471/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com