code: def read_file(self, file_name, section=None):
          
          file_name, section = self.parse_file_name_and_section(file_name, section)
          if not os.path.isfile(file_name):
              raise SettingsFileNotFoundError(file_name)
          parser = self.make_parser()
          with open(file_name) as fp:
              parser.read_file(fp)
  
          settings = OrderedDict()
  
          if parser.has_section(section):
              section_dict = parser[section]
              self.section_found_while_reading = True
          else:
              section_dict = parser.defaults().copy()
  
          extends = section_dict.get('extends')
  
          if extends:
              extends = self.decode_value(extends)
              extends, extends_section = self.parse_file_name_and_section(
                  extends, extender=file_name, extender_section=section)
              settings.update(self.read_file(extends, extends_section))
  
          settings.update(section_dict)
  
          if not self.section_found_while_reading:
              raise SettingsFileSectionNotFoundError(section)
  
          return settings
docs: Read settings from specified ``section`` of config file.