2

我正在使用 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:没有部分:“配置”

这看起来很奇怪,因为我实际上有这个部分。

这是我的 config.ini 文件:

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

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

4

1 回答 1

1

你的代码对我有用。

但是,RawConfigParser'sread()方法有点奇怪,因为如果找不到文件,它不会引发异常 - 而是返回它设法读取的文件的列表。

尝试这样的事情......

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)
于 2013-04-20T17:42:26.113 回答