gpt4 book ai didi

python - 使用Python将ini文件中的所有内容读入字典

转载 作者:IT老高 更新时间:2023-10-28 20:42:30 25 4
gpt4 key购买 nike

通常,我编写如下代码以获取变量中的特定项目,如下所示

try:
config = ConfigParser.ConfigParser()
config.read(self.iniPathName)
except ConfigParser.MissingSectionHeaderError, e:
raise WrongIniFormatError(`e`)

try:
self.makeDB = config.get("DB","makeDB")
except ConfigParser.NoOptionError:
self.makeDB = 0

有没有办法读取python字典中的所有内容?

例如

[A]x=1y=2z=3[B]x=1y=2z=3

被写入

val["A"]["x"] = 1...val["B"]["z"] = 3

最佳答案

我建议子类化 ConfigParser.ConfigParser(或 SafeConfigParser,&c)以安全地访问“ protected ”属性(以单个下划线开头的名称——“private”将是以两个下划线开头的名称,即使在子类中也不能访问...):

import ConfigParser

class MyParser(ConfigParser.ConfigParser):

def as_dict(self):
d = dict(self._sections)
for k in d:
d[k] = dict(self._defaults, **d[k])
d[k].pop('__name__', None)
return d

这模拟了配置解析器的通常逻辑,并保证在所有有 ConfigParser.py 模块的 Python 版本中工作(最高 2.7,这是 的最后一个2.* 系列——知道没有 future 的 Python 2.any 版本是如何保证兼容性;-)。

如果您需要支持 future 的 Python 3.* 版本(最高到 3.1 并且可能即将推出的 3.2 应该没问题,只需将模块重命名为全小写 configparser而不是当然)它可能需要几年后的一些关注/调整,但我不希望有什么重大的。

关于python - 使用Python将ini文件中的所有内容读入字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3220670/

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