code: def read_files(*sources, **kwds):
      
      filenames = _generate_filenames(sources)
      filehandles = _generate_handles(filenames)
      for fh, source in filehandles:
          try:
              f = mwtab.MWTabFile(source)
              f.read(fh)
  
              if kwds.get('validate'):
                  validator.validate_file(mwtabfile=f,
                                          section_schema_mapping=mwschema.section_schema_mapping,
                                          validate_samples=True,
                                          validate_factors=True)
              yield f
  
              if VERBOSE:
                  print("Processed file: {}".format(os.path.abspath(source)))
  
          except Exception as e:
              if VERBOSE:
                  print("Error processing file: ", os.path.abspath(source), "\nReason:", e)
              pass
docs: Construct a generator that yields file instances.
  
      :param sources: One or more strings representing path to file(s).