SF patch# 1757683 by Alexandre Vassalotti. Add support for

seeking/writing beyond EOF to io.BytesIO.
This commit is contained in:
Guido van Rossum 2007-07-21 00:25:15 +00:00
parent d4eda825c7
commit b972a78e17
1 changed files with 5 additions and 0 deletions

View File

@ -659,6 +659,11 @@ class BytesIO(BufferedIOBase):
raise ValueError("write to closed file")
n = len(b)
newpos = self._pos + n
if newpos > len(self._buffer):
# Inserts null bytes between the current end of the file
# and the new write position.
padding = '\x00' * (newpos - len(self._buffer) - n)
self._buffer[self._pos:newpos - n] = padding
self._buffer[self._pos:newpos] = b
self._pos = newpos
return n