code: def save(self, config=None):
          
          if config is not None:
              clist = [config]
          else:
              clist = [
                  self._system_config,
                  self._global_config,
                  self._repo_config,
                  self._local_config,
              ]
  
          for conf in clist:
              if conf.filename is None:
                  continue
  
              try:
                  logger.debug("Writing '{}'.".format(conf.filename))
                  dname = os.path.dirname(os.path.abspath(conf.filename))
                  try:
                      os.makedirs(dname)
                  except OSError as exc:
                      if exc.errno != errno.EEXIST:
                          raise
                  conf.write()
              except Exception as exc:
                  msg = "failed to write config '{}'".format(conf.filename)
                  raise ConfigError(msg, exc)
docs: Saves config to config files.
  
          Args:
              config (configobj.ConfigObj): optional config object to save.
  
          Raises:
              dvc.config.ConfigError: thrown if failed to write config file.