MCPcopy Index your code
hub / github.com/python/cpython / seek

Method seek

Lib/gzip.py:436–457  ·  view source on GitHub ↗
(self, offset, whence=io.SEEK_SET)

Source from the content-addressed store, hash-verified

434 return True
435
436 def seek(self, offset, whence=io.SEEK_SET):
437 if self.mode == WRITE:
438 self._check_not_closed()
439 # Flush buffer to ensure validity of self.offset
440 self._buffer.flush()
441 if whence != io.SEEK_SET:
442 if whence == io.SEEK_CUR:
443 offset = self.offset + offset
444 else:
445 raise ValueError('Seek from end not supported')
446 if offset < self.offset:
447 raise OSError('Negative seek in write mode')
448 count = offset - self.offset
449 chunk = b'\0' * self._buffer_size
450 for i in range(count // self._buffer_size):
451 self.write(chunk)
452 self.write(b'\0' * (count % self._buffer_size))
453 elif self.mode == READ:
454 self._check_not_closed()
455 return self._buffer.seek(offset, whence)
456
457 return self.offset
458
459 def readline(self, size=-1):
460 self._check_not_closed()

Callers 3

seekMethod · 0.45
rewindMethod · 0.45

Calls 3

writeMethod · 0.95
_check_not_closedMethod · 0.80
flushMethod · 0.45

Tested by 1