在Python的ConfigParser中,是否可以使用section而不是instance的默认值?

2024-06-10 15:25:19 发布

您现在位置:Python中文网/ 问答频道 /正文

通过将dict传递给ConfigParser初始化,可以获得一个默认值。在

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

但这种默认值是实例范围的。为什么Section1的默认值与section 2的默认值不同?在


Tags: 实例testconfigsectionokconfigparserdictsection1
1条回答
网友
1楼 · 发布于 2024-06-10 15:25:19

用重写的getter创建自己的子类?像这样?在

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

相关问题 更多 >