code: def findall(self):
          
          from stat import S_ISREG, S_ISDIR, S_ISLNK
  
          self.allfiles = allfiles = []
          root = self.base
          stack = [root]
          pop = stack.pop
          push = stack.append
  
          while stack:
              root = pop()
              names = os.listdir(root)
  
              for name in names:
                  fullname = os.path.join(root, name)
  
                  # Avoid excess stat calls -- just one will do, thank you!
                  stat = os.stat(fullname)
                  mode = stat.st_mode
                  if S_ISREG(mode):
                      allfiles.append(fsdecode(fullname))
                  elif S_ISDIR(mode) and not S_ISLNK(mode):
                      push(fullname)
docs: Find all files under the base and set ``allfiles`` to the absolute
          pathnames of files found.