当前位置: 首页 > 面试题库 >

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

鞠安民
2023-03-14
问题内容

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

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词典中的所有内容?

例如

[一种]
x = 1
y = 2
z = 3
[B]
x = 1
y = 2
z = 3

被写入

val [“ A”] [“ x”] = 1
...
val [“ B”] [“ z”] = 3

问题答案:

我建议使用子类ConfigParser.ConfigParser(或SafeConfigParser&c)来安全地访问“受保护”属性(以单个下划线开头的名称-“私有”将是以
两个 下划线开头的名称,即使在子类中也无法访问…):

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.*系列的最后一个-
知道将来将不再有Python2。任何版本都是如何 保证 兼容性;-)。

如果您需要支持将来的Python3.*版本(可能要升级到3.1和3.2),就可以了,只需将模块重命名为全小写即可,configparser而不是当然),这可能需要几年的注意/调整。我不希望有什么大的。



 类似资料:
  • } PS,arrayList中的内容插入到程序中的某个点,因此arrayList不是空的。

  • 问题内容: 我有这样的熊猫DataFrame 我想将此数据写入如下所示的文本文件: 我已经尝试过类似的东西 但它不起作用。这该怎么做? 问题答案: 您可以只使用和访问np属性: 产量: 或: 请注意,您必须传递通过追加模式创建的文件句柄。

  • 我试图在golang中将响应转换为json。 我的目标是有一个endpoint,用json显示这个响应。

  • 问题内容: 如何读取和处理DOCX文件中表格的每个单元格的内容? 我在Windows 7和PyWin32上使用Python 3.2来访问MS-Word文档。 我是一个初学者,所以我不知道访问表格单元格的正确方法。到目前为止,我只是这样做: 问题答案: 这是在Python 2.7中对我有效的方法: 要查看您的文档有多少张表: 然后,您可以通过索引选择所需的表。请注意,与python不同,COM索引从

  • 问题内容: 我有一个Java程序,它从文件中逐行读取一些文本,并将新文本写入输出文件。但是,程序完成后,并非我写入的所有文本都出现在输出文件中。这是为什么? 详细信息:该程序获取CSV文本文档,并将其转换为SQL命令,以将数据插入表中。文本文件有10000多行,类似于以下内容: 该程序似乎工作正常,只是它只是在创建一个新的SQL语句(将其打印到SQL文件中)的途中随机停在文件中。看起来像: 这发生

  • 问题内容: 我一直在寻找官方的php文档,但找不到我想要的东西。 http://php.net/manual/zh/function.parse-ini- file.php 我只想要一个函数来编辑和读取php ini文件中的值,例如, 如何读取属于“ lu_link”或“ footerbg”的值? 我该如何为这些地点写下新的价值? 问题答案: PEAR Config_Lite包可以非常轻松地为您完