code: def _load(self, path='config', filetype=None, relaxed=False, ignore=False):
          
          for num, line in enumerate(
                      un_comment(load_lines_from_path(path, filetype)),
                      start=1,
                  ):
              if not line:
                  continue
              try:
                  key, val = line.split('=', 1)
                  key = key.strip()
                  val = val.strip()
                  if relaxed:
                      self._define(key)
                  try:
                      level, itemname = self.__lookup(key)
                  except KeyError:
                      if ignore:
                          continue
                      raise
                  item = level.get(itemname)
                  if item is None:
                      raise KeyError(itemname)
                  item.load(val)
              except Exception as e:
                  args = e.args or ('',)
                  msg = 'line {} of config: {}'. format(num, args[0])
                  e.args = (msg,) + args[1:]
                  raise
          return self
docs: load key value pairs from a file
  
              Parameters:
                  path     - path to configuration data (see Note 1)
                  filetype - type component of dot-delimited path
                  relaxed  - if True, define keys on the fly (see Note 2)
                  ignore   - if True, ignore undefined keys in path
  
              Return:
                  self
  
              Notes:
  
                  1. The path can be:
                      * an open file object with a readlines method
                      * a dot delimited path to a file (see normalize_path)
                      * an os-specific path to a file (relative to cwd)
                      * an iterable of key=value strings
  
                  2. Normally keys read from the file must conform to keys
                     previously defined for the Config. If the relaxed flag
                     is True, any keys found in the file will be accepted.
                     If the ignore flag is True, and kyes found in the file
                     that are not previously defined are ignored.