move the cursor on the file descriptor to a different location

        :param position:
            an integer offset from the location indicated by the modifier
        :type position: int
        :param modifier:
            an indicator of how to find the seek location.

            - ``os.SEEK_SET`` means start from the beginning of the file
            - ``os.SEEK_CUR`` means start wherever the cursor already is
            - ``os.SEEK_END`` means start from the end of the file

            the default is ``os.SEEK_SET``

def seek(self, position, modifier=0):
        """move the cursor on the file descriptor to a different location

        :param position:
            an integer offset from the location indicated by the modifier
        :type position: int
        :param modifier:
            an indicator of how to find the seek location.

            - ``os.SEEK_SET`` means start from the beginning of the file
            - ``os.SEEK_CUR`` means start wherever the cursor already is
            - ``os.SEEK_END`` means start from the end of the file

            the default is ``os.SEEK_SET``
        """
        os.lseek(self._fileno, position, modifier)

        # clear out the buffer
        buf = self._rbuf
        buf.seek(0)
        buf.truncate()