code: def parse_lammps_dumps(file_pattern):
      
      files = glob.glob(file_pattern)
      if len(files) > 1:
          pattern = r"%s" % file_pattern.replace("*", "([0-9]+)")
          pattern = pattern.replace("\\", "\\\\")
          files = sorted(files,
                         key=lambda f: int(re.match(pattern, f).group(1)))
  
      for fname in files:
          with zopen(fname, "rt") as f:
              dump_cache = []
              for line in f:
                  if line.startswith("ITEM: TIMESTEP"):
                      if len(dump_cache) > 0:
                          yield LammpsDump.from_string("".join(dump_cache))
                      dump_cache = [line]
                  else:
                      dump_cache.append(line)
              yield LammpsDump.from_string("".join(dump_cache))
docs: Generator that parses dump file(s).
  
      Args:
          file_pattern (str): Filename to parse. The timestep wildcard
              (e.g., dump.atom.'*') is supported and the files are parsed
              in the sequence of timestep.
  
      Yields:
          LammpsDump for each available snapshot.