'Set the current position of this file.
:Parameters:
- `pos`: the position (or offset if using relative
positioning) to seek to
- `whence` (optional): where to seek
from. :attr:`os.SEEK_SET` (``0``) for absolute file
positioning, :attr:`os.SEEK_CUR` (``1``) to seek relative
to the current position, :attr:`os.SEEK_END` (``2``) to
seek relative to the file\'s end.'

def seek(self, pos, whence=_SEEK_SET):

    if (whence == _SEEK_SET):
        new_pos = pos
    elif (whence == _SEEK_CUR):
        new_pos = (self.__position + pos)
    elif (whence == _SEEK_END):
        new_pos = (int(self.length) + pos)
    else:
        raise IOError(22, 'Invalid    value    for    `whence`')
    if (new_pos < 0):
        raise IOError(22, 'Invalid    value    for    `pos`    -    must    be    positive')
    self.__position = new_pos
    self.__buffer = EMPTY
