]> granicus.if.org Git - python/commitdiff
Indicate that seek and tell are mandatory on BufferedRandom. (GH-11216)
authorChristopher Head <chead@chead.ca>
Fri, 12 Apr 2019 15:50:41 +0000 (08:50 -0700)
committerBenjamin Peterson <benjamin@python.org>
Fri, 12 Apr 2019 15:50:40 +0000 (08:50 -0700)
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.

Doc/library/io.rst

index 9738c5c2ad274d31b014ef66f3f9470bbf2927ee..0f1251687aeb131513a60d2ee5c966fa48e73489 100644 (file)
@@ -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)