code: def path_components(path):
      
      components = []
      # The loop guarantees that the returned components can be
      # os.path.joined with the path separator and point to the same
      # location:    
      while True:
          (new_path, tail) = os.path.split(path)  # Works on any platform
          components.append(tail)        
          if new_path == path:  # Root (including drive, on Windows) reached
              break
          path = new_path
      components.append(new_path)    
      components.reverse()  # First component first 
      return components
docs: Return the individual components of a given file path
      string (for the local operating system).
  
      Taken from https://stackoverflow.com/q/21498939/438386