mirror of
https://github.com/python/cpython.git
synced 2026-03-02 11:00:50 +00:00
[3.12] gh-67641: Clarify documentation on bytes vs text with non-seeking tarfile stream (GH-31610) (GH-113519)
(cherry picked from commit 0651936ae2)
Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
This commit is contained in:
parent
b8207711ce
commit
72410a3ecf
2 changed files with 11 additions and 8 deletions
|
|
@ -116,10 +116,12 @@ Some facts and figures:
|
|||
``'filemode|[compression]'``. :func:`tarfile.open` will return a :class:`TarFile`
|
||||
object that processes its data as a stream of blocks. No random seeking will
|
||||
be done on the file. If given, *fileobj* may be any object that has a
|
||||
:meth:`~io.TextIOBase.read` or :meth:`~io.TextIOBase.write` method (depending on the *mode*). *bufsize*
|
||||
specifies the blocksize and defaults to ``20 * 512`` bytes. Use this variant
|
||||
in combination with e.g. ``sys.stdin``, a socket :term:`file object` or a tape
|
||||
device. However, such a :class:`TarFile` object is limited in that it does
|
||||
:meth:`~io.RawIOBase.read` or :meth:`~io.RawIOBase.write` method
|
||||
(depending on the *mode*) that works with bytes.
|
||||
*bufsize* specifies the blocksize and defaults to ``20 * 512`` bytes.
|
||||
Use this variant in combination with e.g. ``sys.stdin.buffer``, a socket
|
||||
:term:`file object` or a tape device.
|
||||
However, such a :class:`TarFile` object is limited in that it does
|
||||
not allow random access, see :ref:`tar-examples`. The currently
|
||||
possible modes:
|
||||
|
||||
|
|
|
|||
|
|
@ -331,10 +331,11 @@ def write(self, s):
|
|||
class _Stream:
|
||||
"""Class that serves as an adapter between TarFile and
|
||||
a stream-like object. The stream-like object only
|
||||
needs to have a read() or write() method and is accessed
|
||||
blockwise. Use of gzip or bzip2 compression is possible.
|
||||
A stream-like object could be for example: sys.stdin,
|
||||
sys.stdout, a socket, a tape device etc.
|
||||
needs to have a read() or write() method that works with bytes,
|
||||
and the method is accessed blockwise.
|
||||
Use of gzip or bzip2 compression is possible.
|
||||
A stream-like object could be for example: sys.stdin.buffer,
|
||||
sys.stdout.buffer, a socket, a tape device etc.
|
||||
|
||||
_Stream is intended to be used only internally.
|
||||
"""
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue