code: def listdir_matches(match):
      
      import os
      last_slash = match.rfind('/')
      if last_slash == -1:
          dirname = '.'
          match_prefix = match
          result_prefix = ''
      else:
          match_prefix = match[last_slash + 1:]
          if last_slash == 0:
              dirname = '/'
              result_prefix = '/'
          else:
              dirname = match[0:last_slash]
              result_prefix = dirname + '/'
      def add_suffix_if_dir(filename):
          try:
              if (os.stat(filename)[0] & 0x4000) != 0:
                  return filename + '/'
          except FileNotFoundError:
              # This can happen when a symlink points to a non-existant file.
              pass
          return filename
      matches = [add_suffix_if_dir(result_prefix + filename)
                 for filename in os.listdir(dirname) if filename.startswith(match_prefix)]
      return matches
docs: Returns a list of filenames contained in the named directory.
         Only filenames which start with `match` will be returned.
         Directories will have a trailing slash.