code: def results(self, **query_params):
          
          query_params['segmentation'] = query_params.get('segmentation', 'none')
          return self.get("results", **query_params).body
docs: Returns a streaming handle to this job's search results. To get a
          nice, Pythonic iterator, pass the handle to :class:`splunklib.results.ResultsReader`,
          as in::
  
              import splunklib.client as client
              import splunklib.results as results
              from time import sleep
              service = client.connect(...)
              job = service.jobs.create("search * | head 5")
              while not job.is_done():
                  sleep(.2)
              rr = results.ResultsReader(job.results())
              for result in rr:
                  if isinstance(result, results.Message):
                      # Diagnostic messages may be returned in the results
                      print '%s: %s' % (result.type, result.message)
                  elif isinstance(result, dict):
                      # Normal events are returned as dicts
                      print result
              assert rr.is_preview == False
  
          Results are not available until the job has finished. If called on
          an unfinished job, the result is an empty event set.
  
          This method makes a single roundtrip
          to the server, plus at most two additional round trips if
          the ``autologin`` field of :func:`connect` is set to ``True``.
  
          :param query_params: Additional parameters (optional). For a list of valid
              parameters, see `GET search/jobs/{search_id}/results
              <http://docs.splunk.com/Documentation/Splunk/latest/RESTAPI/RESTsearch#GET_search.2Fjobs.2F.7Bsearch_id.7D.2Fresults>`_.
          :type query_params: ``dict``
  
          :return: The ``InputStream`` IO handle to this job's results.