]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.11] gh-67641: Clarify documentation on bytes vs text with non-seeking tarfile...
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 27 Dec 2023 17:33:00 +0000 (18:33 +0100)
committerGitHub <noreply@github.com>
Wed, 27 Dec 2023 17:33:00 +0000 (17:33 +0000)
(cherry picked from commit 0651936ae2bc6999f488f8c519b8d07a06a11557)

Co-authored-by: Stanley <46876382+slateny@users.noreply.github.com>
Doc/library/tarfile.rst
Lib/tarfile.py

index ced98a524f3520f334b1edaf1a0c4c80a68c2dc8..dadbc6ea87f8433ea4a52f2220722fe83934e241 100644 (file)
@@ -109,10 +109,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:
 
index 2808e7efc553a9e98455a591ef02567ef7d83000..4aebe916d1bb7c343a7e5cd46a9b92296b782882 100755 (executable)
@@ -332,10 +332,11 @@ class _LowLevelFile:
 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.
     """