【问题标题】:Python ConfigParser module fails to find sectionPython ConfigParser 模块找不到部分
【发布时间】:2013-04-20 17:13:35
【问题描述】:

我正在使用 Python 2.6 写入一个名为 config.ini 的 .ini 文件。这是我的代码:

def saveConfig(self, selection, value, bool):
    Config = ConfigParser.RawConfigParser()
    Config.read("config.ini")
    Config.set(selection, value, bool)
    with open('config.ini', 'w') as configfile:
        Config.write(configfile)

到目前为止一切正常,但是当我运行我的脚本时(因此函数self.saveConfig('Config', 'testoption', 'True'),我得到了 NoSectionError 异常:

ConfigParser.NoSectionError: No section: 'Config'

这似乎很奇怪,因为我实际上有这个部分。

这是我的 config.ini 文件:

[Config]
version = 0.1-unstable
testoption = False
testbool = True

我可以使用 .get() 方法读取它们的值,但不能设置不同的值。想法?提前致谢。

【问题讨论】:

    标签: python parsing config


    【解决方案1】:

    你的代码对我有用。

    然而,RawConfigParserread() 方法有点奇怪,如果找不到文件,它不会引发异常 - 而是返回它设法读取的文件列表.

    试试这样的...

    def saveConfig(self, selection, value, bool):
        Config = ConfigParser.RawConfigParser()
        if not Config.read("config.ini"):
            raise IOError, 'cannot load config.ini'
        Config.set(selection, value, bool)
        with open('config.ini', 'w') as configfile:
            Config.write(configfile)
    

    【讨论】:

    • 哈,好主意,它返回 IOError: cannot load config.ini,我会尝试更改路径之类的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多