Skip to main content
 首页 » 编程设计

Python ConfigParser 模块找不到部分

2025年05月04日6bhlsheji

我正在使用 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() 方法读取它们的值,但不能设置不同的值。想法?提前致谢。

请您参考如下方法:

你的代码适合我。

但是,RawConfigParser 的 read() 方法有点奇怪,因为它不会在找不到文件时抛出异常 -相反,它会返回它设法读取的文件列表。

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

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)