closes bpo-35848: Move all documentation regarding the readinto out of IOBase. (GH-11893)
Move all documentation regarding the readinto method into either io.RawIOBase or io.BufferedIOBase.
Corresponding changes to documentation in the _pyio.py module.
(cherry picked from commit 7b97ab35b2
)
Co-authored-by: Steve Palmer <steve@srpalmer.me.uk>
This commit is contained in:
parent
2368d86ed1
commit
0a16bb15af
|
@ -226,7 +226,7 @@ I/O Base Classes
|
|||
implementations represent a file that cannot be read, written or
|
||||
seeked.
|
||||
|
||||
Even though :class:`IOBase` does not declare :meth:`read`, :meth:`readinto`,
|
||||
Even though :class:`IOBase` does not declare :meth:`read`
|
||||
or :meth:`write` because their signatures will vary, implementations and
|
||||
clients should consider those methods part of the interface. Also,
|
||||
implementations may raise a :exc:`ValueError` (or :exc:`UnsupportedOperation`)
|
||||
|
@ -234,9 +234,7 @@ I/O Base Classes
|
|||
|
||||
The basic type used for binary data read from or written to a file is
|
||||
:class:`bytes`. Other :term:`bytes-like objects <bytes-like object>` are
|
||||
accepted as method arguments too. In some cases, such as
|
||||
:meth:`~RawIOBase.readinto`, a writable object such as :class:`bytearray`
|
||||
is required. Text I/O classes work with :class:`str` data.
|
||||
accepted as method arguments too. Text I/O classes work with :class:`str` data.
|
||||
|
||||
Note that calling any method (even inquiries) on a closed stream is
|
||||
undefined. Implementations may raise :exc:`ValueError` in this case.
|
||||
|
@ -405,7 +403,8 @@ I/O Base Classes
|
|||
|
||||
Read bytes into a pre-allocated, writable
|
||||
:term:`bytes-like object` *b*, and return the
|
||||
number of bytes read. If the object is in non-blocking mode and no bytes
|
||||
number of bytes read. For example, *b* might be a :class:`bytearray`.
|
||||
If the object is in non-blocking mode and no bytes
|
||||
are available, ``None`` is returned.
|
||||
|
||||
.. method:: write(b)
|
||||
|
@ -495,6 +494,7 @@ I/O Base Classes
|
|||
|
||||
Read bytes into a pre-allocated, writable
|
||||
:term:`bytes-like object` *b* and return the number of bytes read.
|
||||
For example, *b* might be a :class:`bytearray`.
|
||||
|
||||
Like :meth:`read`, multiple reads may be issued to the underlying raw
|
||||
stream, unless the latter is interactive.
|
||||
|
@ -757,8 +757,7 @@ Text I/O
|
|||
.. class:: TextIOBase
|
||||
|
||||
Base class for text streams. This class provides a character and line based
|
||||
interface to stream I/O. There is no :meth:`readinto` method because
|
||||
Python's character strings are immutable. It inherits :class:`IOBase`.
|
||||
interface to stream I/O. It inherits :class:`IOBase`.
|
||||
There is no public constructor.
|
||||
|
||||
:class:`TextIOBase` provides or overrides these data attributes and
|
||||
|
@ -1048,4 +1047,3 @@ The above implicitly extends to text files, since the :func:`open()` function
|
|||
will wrap a buffered object inside a :class:`TextIOWrapper`. This includes
|
||||
standard streams and therefore affects the built-in function :func:`print()` as
|
||||
well.
|
||||
|
||||
|
|
10
Lib/_pyio.py
10
Lib/_pyio.py
|
@ -287,16 +287,15 @@ class IOBase(metaclass=abc.ABCMeta):
|
|||
derived classes can override selectively; the default implementations
|
||||
represent a file that cannot be read, written or seeked.
|
||||
|
||||
Even though IOBase does not declare read, readinto, or write because
|
||||
Even though IOBase does not declare read or write because
|
||||
their signatures will vary, implementations and clients should
|
||||
consider those methods part of the interface. Also, implementations
|
||||
may raise UnsupportedOperation when operations they do not support are
|
||||
called.
|
||||
|
||||
The basic type used for binary data read from or written to a file is
|
||||
bytes. Other bytes-like objects are accepted as method arguments too. In
|
||||
some cases (such as readinto), a writable object is required. Text I/O
|
||||
classes work with str data.
|
||||
bytes. Other bytes-like objects are accepted as method arguments too.
|
||||
Text I/O classes work with str data.
|
||||
|
||||
Note that calling any method (even inquiries) on a closed stream is
|
||||
undefined. Implementations may raise OSError in this case.
|
||||
|
@ -1759,8 +1758,7 @@ class TextIOBase(IOBase):
|
|||
"""Base class for text I/O.
|
||||
|
||||
This class provides a character and line based interface to stream
|
||||
I/O. There is no readinto method because Python's character strings
|
||||
are immutable. There is no public constructor.
|
||||
I/O. There is no public constructor.
|
||||
"""
|
||||
|
||||
def read(self, size=-1):
|
||||
|
|
Loading…
Reference in New Issue