def _read(self, n):
if n <= len(self._prefix):<EOL><INDENT>result = self._prefix[:n]<EOL>self._prefix = self._prefix[n:]<EOL>return result<EOL><DEDENT>n -= len(self._prefix)<EOL>result = self._prefix + self.f.read(n)<EOL>self._prefix = "<STR_LIT>"<EOL>return result<EOL>
Read (up to) 'n' bytes from the underlying file.  If any bytes
        have been pushed in with _unread() those are returned first.