code: def _aprint2(self, *values, **kwargs):
          
          sep = kwargs.pop(str('sep'), ' ')
          end = kwargs.pop(str('end'), '\n')
          file = kwargs.pop(str('file'), None) or sys.stdout
          flush = kwargs.pop(str('flush'), False)
          fg = kwargs.pop(str('fg'), None)
          bg = kwargs.pop(str('bg'), None)
          style = kwargs.pop(str('style'), None)
          reset = kwargs.pop(str('reset'), True)
          sgr = kwargs
          text = sep.join(str(value) for value in values)
          text = self(text, fg, bg, style, reset, **sgr)
          print(text, end=end, file=file)
          if flush:
              file.flush()
docs: ANSI formatting-aware print().
  
          This method is a version of print() (function) that understands
          additional ansi control parameters.
  
          :param value:
              The values to print, same as with ``print()``
          :param sep:
              Separator between values, same as with ``print()``
          :param end:
              Terminator of the line, same as with ``print()``
          :param file:
              File to print to, same as with ``print()``
          :param flush:
              Flag that controls stream flush behavior, same as with ``print()``
          :param fg:
              Foreground color, same as with :meth:`__call__()`.
          :param bg:
              Background color, same as with :meth:`__call__()`.
          :param style:
              Text style, same as with :meth:`__call__()`.
          :param reset:
              Flag that controls if ANSI attributes are reset at the end, same as
              with :meth:`__call__()`.
          :param sgr:
              Additonal (custom) Set Graphics Rendition directives, same as with
              :meth:`__call__()`.
  
          .. note::
              This implementation is intended for Python 2