Skip to content

Commit

Permalink
gh-47937: Note that Popen attributes are read-only (#93070)
Browse files Browse the repository at this point in the history
* Note that Popen attributes aren't meant to be set by users by rewording the text about the attributes.
* Also update some universal_newlines references to mention the modern text parameter name while in the area.

Co-authored-by: Gregory P. Smith <greg@krypto.org>
  • Loading branch information
slateny and gpshead committed Feb 8, 2023
1 parent a9f0144 commit 027adf4
Showing 1 changed file with 12 additions and 11 deletions.
23 changes: 12 additions & 11 deletions Doc/library/subprocess.rst
Original file line number Diff line number Diff line change
Expand Up @@ -457,7 +457,7 @@ functions.
- :const:`0` means unbuffered (read and write are one
system call and can return short)
- :const:`1` means line buffered
(only usable if ``universal_newlines=True`` i.e., in a text mode)
(only usable if ``text=True`` or ``universal_newlines=True``)
- any other positive value means use a buffer of approximately that
size
- negative bufsize (the default) means the system default of
Expand Down Expand Up @@ -847,7 +847,8 @@ Instances of the :class:`Popen` class have the following methods:
On Windows :meth:`kill` is an alias for :meth:`terminate`.


The following attributes are also available:
The following attributes are also set by the class for you to access.
Reassigning them to new values is unsupported:

.. attribute:: Popen.args

Expand All @@ -860,29 +861,29 @@ The following attributes are also available:

If the *stdin* argument was :data:`PIPE`, this attribute is a writeable
stream object as returned by :func:`open`. If the *encoding* or *errors*
arguments were specified or the *universal_newlines* argument was ``True``,
the stream is a text stream, otherwise it is a byte stream. If the *stdin*
argument was not :data:`PIPE`, this attribute is ``None``.
arguments were specified or the *text* or *universal_newlines* argument
was ``True``, the stream is a text stream, otherwise it is a byte stream.
If the *stdin* argument was not :data:`PIPE`, this attribute is ``None``.


.. attribute:: Popen.stdout

If the *stdout* argument was :data:`PIPE`, this attribute is a readable
stream object as returned by :func:`open`. Reading from the stream provides
output from the child process. If the *encoding* or *errors* arguments were
specified or the *universal_newlines* argument was ``True``, the stream is a
text stream, otherwise it is a byte stream. If the *stdout* argument was not
:data:`PIPE`, this attribute is ``None``.
specified or the *text* or *universal_newlines* argument was ``True``, the
stream is a text stream, otherwise it is a byte stream. If the *stdout*
argument was not :data:`PIPE`, this attribute is ``None``.


.. attribute:: Popen.stderr

If the *stderr* argument was :data:`PIPE`, this attribute is a readable
stream object as returned by :func:`open`. Reading from the stream provides
error output from the child process. If the *encoding* or *errors* arguments
were specified or the *universal_newlines* argument was ``True``, the stream
is a text stream, otherwise it is a byte stream. If the *stderr* argument was
not :data:`PIPE`, this attribute is ``None``.
were specified or the *text* or *universal_newlines* argument was ``True``, the
stream is a text stream, otherwise it is a byte stream. If the *stderr* argument
was not :data:`PIPE`, this attribute is ``None``.

.. warning::

Expand Down

0 comments on commit 027adf4

Please sign in to comment.