parameters: (src_base, src, dst_base, suffixes)
docstring: Enumerate the files that are under `src` and end with one of the
      `suffixes` and yield the source path and the destination path.
docstring_summary: Enumerate the files that are under `src` and end with one of the
      `suffixes` and yield the source path and the destination path.
docstring_tokens: Enumerate the files that are under src and end with one of the suffixes and yield the source path and the destination path .
function: def list_files(src_base, src, dst_base, suffixes):
      """Enumerate the files that are under `src` and end with one of the
      `suffixes` and yield the source path and the destination path."""
      src_base = path.abspath(src_base)
      src = path.join(src_base, src)
      for base_dir, dirnames, filenames in os.walk(src):
          for filename in filenames:
              if path.splitext(filename)[1] in suffixes:
                  relative = path.relpath(base_dir, src_base)
                  yield (path.join(base_dir, filename),
                         path.join(dst_base, relative, filename))
function_tokens: def list_files ( src_base , src , dst_base , suffixes ) : src_base = path . abspath ( src_base ) src = path . join ( src_base , src ) for base_dir , dirnames , filenames in os . walk ( src ) : for filename in filenames : if path . splitext ( filename ) [ 1 ] in suffixes : relative = path . relpath ( base_dir , src_base ) yield ( path . join ( base_dir , filename ) , path . join ( dst_base , relative , filename ) )