def getfo(self, remotepath, fl, callback=None):
file_size = self.stat(remotepath).st_size<EOL>with self.open(remotepath, "<STR_LIT:rb>") as fr:<EOL><INDENT>fr.prefetch(file_size)<EOL>return self._transfer_with_callback(<EOL>reader=fr, writer=fl, file_size=file_size, callback=callback<EOL>)<EOL><DEDENT>
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