code: def getfo(self, remotepath, fl, callback=None):
          
          file_size = self.stat(remotepath).st_size
          with self.open(remotepath, "rb") as fr:
              fr.prefetch(file_size)
              return self._transfer_with_callback(
                  reader=fr, writer=fl, file_size=file_size, callback=callback
              )
docs: Copy a remote file (``remotepath``) from the SFTP server and write to
          an open file or file-like object, ``fl``.  Any exception raised by
          operations will be passed through.  This method is primarily provided
          as a convenience.
  
          :param object remotepath: opened file or file-like object to copy to
          :param str fl:
              the destination path on the local host or open file object
          :param callable callback:
              optional callback function (form: ``func(int, int)``) that accepts
              the bytes transferred so far and the total bytes to be transferred
          :return: the `number <int>` of bytes written to the opened file object
  
          .. versionadded:: 1.10