parameters: (path, pattern)
return_statement: return files
docstring: Finds files matching |pattern| under |path|.
  
    Returns a list of file paths matching |pattern|, by walking the directory tree
    under |path|. Filenames containing the string 'do_not_use' or 'protoc' are
    excluded.
  
    Args:
      path: The root path for the search.
      pattern: A shell-style wildcard pattern to match filenames against.
          (e.g. '*.a')
  
    Returns:
      A list of file paths, relative to the current working directory.
docstring_summary: Finds files matching |pattern| under |path|.
docstring_tokens: Finds files matching |pattern| under |path| .
function: def FindFiles(path, pattern):
    """Finds files matching |pattern| under |path|.
  
    Returns a list of file paths matching |pattern|, by walking the directory tree
    under |path|. Filenames containing the string 'do_not_use' or 'protoc' are
    excluded.
  
    Args:
      path: The root path for the search.
      pattern: A shell-style wildcard pattern to match filenames against.
          (e.g. '*.a')
  
    Returns:
      A list of file paths, relative to the current working directory.
    """
    files = []
    for root, _, filenames in os.walk(path):
      for filename in fnmatch.filter(filenames, pattern):
        if 'do_not_use' not in filename and 'protoc' not in filename:
          # We use the relative path here to avoid "argument list too long"
          # errors on Linux.
          files.append(os.path.relpath(os.path.join(root, filename)))
    return files
function_tokens: def FindFiles ( path , pattern ) : files = [ ] for root , _ , filenames in os . walk ( path ) : for filename in fnmatch . filter ( filenames , pattern ) : if 'do_not_use' not in filename and 'protoc' not in filename : # We use the relative path here to avoid "argument list too long" # errors on Linux. files . append ( os . path . relpath ( os . path . join ( root , filename ) ) ) return files