code: def write(self, string):
          
          # some 'basic' line buffer stuff.
          # there must be an easier way to do this.  The textwrap module didn't
          # help much.
          x, y = self._normalizeCursor(*self._cursor)
          width, height = self.get_size()
          wrapper = _textwrap.TextWrapper(initial_indent=(' '*x), width=width)
          writeLines = []
          for line in string.split('\n'):
              if line:
                  writeLines += wrapper.wrap(line)
                  wrapper.initial_indent = ''
              else:
                  writeLines.append([])
  
          for line in writeLines:
              x, y = self._normalizeCursor(x, y)
              self.draw_str(x, y, line[x:], self._fg, self._bg)
              y += 1
              x = 0
          y -= 1
          self._cursor = (x, y)
docs: This method mimics basic file-like behaviour.
  
          Because of this method you can replace sys.stdout or sys.stderr with
          a :any:`Console` or :any:`Window` instance.
  
          This is a convoluted process and behaviour seen now can be excepted to
          change on later versions.
  
          Args:
              string (Text): The text to write out.
  
          .. seealso:: :any:`set_colors`, :any:`set_mode`, :any:`Window`