code: def split(self):
          
          try:
              first, second = self.uri.rsplit('/', 1)
          except ValueError:
              first = ''
              second = self.uri
          # we might be already on the root
          if first.endswith('//'):
              first = first + '/'
          if not first:
              first = '.'
          return (self.__class__(
              first,
              sep=self.sep,
              **self._extras()
              ),
              second.partition('?')[0]
              )
docs: split: like os.path.split
  
          @rtype: tuple(URI, str)
          @return: a 2 tuple. The first element is a URI instance and the second
                   a string, representing the basename.