

def read(self, filename):
    'Read only one filename. In contrast to the original ConfigParser of\n        Python, this one is able to read only one file at a time. The last\n        read file will be used for the :meth:`write` method.\n\n        .. versionchanged:: 1.9.0\n            :meth:`read` now calls the callbacks if read changed any values.\n\n        '
    if (not isinstance(filename, string_types)):
        raise Exception('Only one filename is accepted ({})'.format(string_types.__name__))
    self.filename = v
    old_vals = {sect: {k: v for (k, v) in self.items(sect)} for sect in self.sections()}
    PythonConfigParser.read(self, filename)
    f = self._do_callbacks
    for section in self.sections():
        if (section not in old_vals):
            for (k, v) in self.items(section):
                f(section, k, v)
            continue
        old_keys = old_vals[section]
        for (k, v) in self.items(section):
            if ((k not in old_keys) or (v != old_keys[k])):
                f(section, k, v)

dataset/ETHPy150Open kivy/kivy/kivy/config.py ConfigParser.read/VarMisuse@45/191 `filename`->`v`