[Python-checkins] Indicate that seek and tell are mandatory on BufferedRandom. (GH-11216)

Benjamin Peterson webhook-mailer at python.org
Fri Apr 12 11:50:58 EDT 2019


https://github.com/python/cpython/commit/b13552c4d7ce68fc9e61b5ade03cb5b951349c2b
commit: b13552c4d7ce68fc9e61b5ade03cb5b951349c2b
branch: master
author: Christopher Head <chead at chead.ca>
committer: Benjamin Peterson <benjamin at python.org>
date: 2019-04-12T08:50:40-07:00
summary:

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.

files:
M Doc/library/io.rst

diff --git a/Doc/library/io.rst b/Doc/library/io.rst
index 9738c5c2ad27..0f1251687aeb 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)



More information about the Python-checkins mailing list