code: def from_dir(cls, top, exts=None, exclude_dirs="_*"):
          
          pseudos = []
  
          if exts == "all_files":
              for f in [os.path.join(top, fn) for fn in os.listdir(top)]:
                  if os.path.isfile(f):
                      try:
                          p = Pseudo.from_file(f)
                          if p:
                              pseudos.append(p)
                          else:
                              logger.info('Skipping file %s' % f)
                      except:
                          logger.info('Skipping file %s' % f)
              if not pseudos:
                  logger.warning('No pseudopotentials parsed from folder %s' % top)
                  return None
              logger.info('Creating PseudoTable with %i pseudopotentials' % len(pseudos))
  
          else:
              if exts is None: exts=("psp8",)
  
              for p in find_exts(top, exts, exclude_dirs=exclude_dirs):
                  try:
                      pseudos.append(Pseudo.from_file(p))
                  except Exception as exc:
                      logger.critical("Error in %s:\n%s" % (p, exc))
  
          return cls(pseudos).sort_by_z()
docs: Find all pseudos in the directory tree starting from top.
  
          Args:
              top: Top of the directory tree
              exts: List of files extensions. if exts == "all_files"
                      we try to open all files in top
              exclude_dirs: Wildcard used to exclude directories.
  
          return: :class:`PseudoTable` sorted by atomic number Z.