From: Christopher Head Date: Fri, 12 Apr 2019 15:50:41 +0000 (-0700) Subject: Indicate that seek and tell are mandatory on BufferedRandom. (GH-11216) X-Git-Tag: v3.8.0a4~206 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b13552c4d7ce68fc9e61b5ade03cb5b951349c2b;p=python Indicate that seek and tell are mandatory on BufferedRandom. (GH-11216) For BufferedReader and BufferedWriter, seek and tell operations are optional (they may or may not exist based on the underlying stream). For BufferedRandom, they are mandatory: a BufferedRandom should not be constructed over an unseekable underlying stream. Document this. --- diff --git a/Doc/library/io.rst b/Doc/library/io.rst index 9738c5c2ad..0f1251687a 100644 --- a/Doc/library/io.rst +++ b/Doc/library/io.rst @@ -719,15 +719,15 @@ than raw I/O does. .. class:: BufferedRandom(raw, buffer_size=DEFAULT_BUFFER_SIZE) A buffered interface to random access streams. It inherits - :class:`BufferedReader` and :class:`BufferedWriter`, and further supports - :meth:`seek` and :meth:`tell` functionality. + :class:`BufferedReader` and :class:`BufferedWriter`. The constructor creates a reader and writer for a seekable raw stream, given in the first argument. If the *buffer_size* is omitted it defaults to :data:`DEFAULT_BUFFER_SIZE`. :class:`BufferedRandom` is capable of anything :class:`BufferedReader` or - :class:`BufferedWriter` can do. + :class:`BufferedWriter` can do. In addition, :meth:`seek` and :meth:`tell` + are guaranteed to be implemented. .. class:: BufferedRWPair(reader, writer, buffer_size=DEFAULT_BUFFER_SIZE)