From: Gregory P. Smith Date: Fri, 30 Sep 2022 17:45:47 +0000 (-0700) Subject: gh-87597: Document TimeoutExpired.stdout & .stderr types (#97685) X-Git-Tag: v3.12.0a1~322 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b05dd796492160c37c9e15e3882f699f411b3461;p=thirdparty%2FPython%2Fcpython.git gh-87597: Document TimeoutExpired.stdout & .stderr types (#97685) This documents the behavior that has always been the case since timeout support was introduced in Python 3.3. --- diff --git a/Doc/library/subprocess.rst b/Doc/library/subprocess.rst index 43d6ffceee8f..dee5bd879db5 100644 --- a/Doc/library/subprocess.rst +++ b/Doc/library/subprocess.rst @@ -193,7 +193,10 @@ underlying :class:`Popen` interface can be used directly. .. attribute:: output Output of the child process if it was captured by :func:`run` or - :func:`check_output`. Otherwise, ``None``. + :func:`check_output`. Otherwise, ``None``. This is always + :class:`bytes` when any output was captured regardless of the + ``text=True`` setting. It may remain ``None`` instead of ``b''`` + when no output was observed. .. attribute:: stdout @@ -202,7 +205,9 @@ underlying :class:`Popen` interface can be used directly. .. attribute:: stderr Stderr output of the child process if it was captured by :func:`run`. - Otherwise, ``None``. + Otherwise, ``None``. This is always :class:`bytes` when stderr output + was captured regardless of the ``text=True`` setting. It may remain + ``None`` instead of ``b''`` when no stderr output was observed. .. versionadded:: 3.3