code: def splitall(self):
          r
          parts = []
          loc = self
          while loc != os.curdir and loc != os.pardir:
              prev = loc
              loc, child = prev.splitpath()
              if loc == prev:
                  break
              parts.append(child)
          parts.append(loc)
          parts.reverse()
          return parts
docs: r""" Return a list of the path components in this path.
  
          The first item in the list will be a Path.  Its value will be
          either :data:`os.curdir`, :data:`os.pardir`, empty, or the root
          directory of this path (for example, ``'/'`` or ``'C:\\'``).  The
          other items in the list will be strings.
  
          ``path.Path.joinpath(*result)`` will yield the original path.