3

您可以通过将 dict 传递给 ConfigParser 初始化来获得默认值。

config = ConfigParser.ConfigParser({"test": "ok"})

但是这个默认值是实例范围的。第 1 部分的默认值如何与第 2 部分不同?

4

1 回答 1

3

创建您自己的子类,并使用覆盖的吸气剂?像这样的东西?

class MyConfigParser(ConfigParser):
    my_defaults = {
            'Section 1': 'spam',
            'Section 2': 'eggs',
    }

    def get(self, section, key):
        try:
            return ConfigParser.get(self, section, key)
        except ConfigParser.NoSectionError:
            if section in self.my_defaults:
                self.add_section(section)
                self.set(section, key, self.my_defaults[section])
                return self.my_defaults[section]
            else:
                raise
        except ConfigParser.NoOptionError:
            if section in self.my_defaults:
                self.set(section, key, self.my_defaults[section])
                return self.my_defaults[section]
            else:
                raise
于 2012-10-15T18:07:46.163 回答