Index: Lib/ConfigParser.py =================================================================== --- Lib/ConfigParser.py (revision 68546) +++ Lib/ConfigParser.py (working copy) @@ -215,13 +215,14 @@ class RawConfigParser: - def __init__(self, defaults=None, dict_type=dict): + def __init__(self, defaults=None, dict_type=dict, unique_sects=False): self._dict = dict_type self._sections = self._dict() self._defaults = self._dict() if defaults: for key, value in defaults.items(): self._defaults[self.optionxform(key)] = value + self._unique_sects = unique_sects def defaults(self): return self._defaults @@ -468,7 +469,10 @@ if mo: sectname = mo.group('header') if sectname in self._sections: - cursect = self._sections[sectname] + if self._unique_sects: + raise DuplicateSectionError(sectname) + else: + cursect = self._sections[sectname] elif sectname == DEFAULTSECT: cursect = self._defaults else: