summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@python.org>2024-07-01 16:27:50 (GMT)
committerGitHub <noreply@github.com>2024-07-01 16:27:50 (GMT)
commitd44c550f7ebee7d33785142e6031a4621cf21573 (patch)
treeb6f17dc6822b5f732fa0f23c0124832b9941b750
parent02cb5fdee391670d63b2fc0a92ca9b36a32ac95a (diff)
downloadcpython-d44c550f7ebee7d33785142e6031a4621cf21573.zip
cpython-d44c550f7ebee7d33785142e6031a4621cf21573.tar.gz
cpython-d44c550f7ebee7d33785142e6031a4621cf21573.tar.bz2
gh-120743: Soft deprecate os.popen() function (#120744)
Soft deprecate os.popen() and os.spawn*() functions.
-rw-r--r--Doc/library/os.rst10
-rw-r--r--Doc/whatsnew/3.14.rst5
-rw-r--r--Misc/NEWS.d/next/Library/2024-06-19-15-43-04.gh-issue-120743.CMMl2P.rst3
3 files changed, 17 insertions, 1 deletions
diff --git a/Doc/library/os.rst b/Doc/library/os.rst
index 360d71e..8d95d01 100644
--- a/Doc/library/os.rst
+++ b/Doc/library/os.rst
@@ -4642,6 +4642,10 @@ written in Python, such as a mail server's external command delivery program.
Use :class:`subprocess.Popen` or :func:`subprocess.run` to
control options like encodings.
+ .. deprecated:: 3.14
+ The function is :term:`soft deprecated` and should no longer be used to
+ write new code. The :mod:`subprocess` module is recommended instead.
+
.. function:: posix_spawn(path, argv, env, *, file_actions=None, \
setpgroup=None, resetids=False, setsid=False, setsigmask=(), \
@@ -4868,6 +4872,10 @@ written in Python, such as a mail server's external command delivery program.
.. versionchanged:: 3.6
Accepts a :term:`path-like object`.
+ .. deprecated:: 3.14
+ These functions are :term:`soft deprecated` and should no longer be used
+ to write new code. The :mod:`subprocess` module is recommended instead.
+
.. data:: P_NOWAIT
P_NOWAITO
@@ -4972,7 +4980,7 @@ written in Python, such as a mail server's external command delivery program.
shell documentation.
The :mod:`subprocess` module provides more powerful facilities for spawning
- new processes and retrieving their results; using that module is preferable
+ new processes and retrieving their results; using that module is recommended
to using this function. See the :ref:`subprocess-replacements` section in
the :mod:`subprocess` documentation for some helpful recipes.
diff --git a/Doc/whatsnew/3.14.rst b/Doc/whatsnew/3.14.rst
index ee30016..6ebadd7 100644
--- a/Doc/whatsnew/3.14.rst
+++ b/Doc/whatsnew/3.14.rst
@@ -144,6 +144,11 @@ Deprecated
as a single positional argument.
(Contributed by Serhiy Storchaka in :gh:`109218`.)
+* :term:`Soft deprecate <soft deprecated>` :func:`os.popen` and
+ :func:`os.spawn* <os.spawnl>` functions. They should no longer be used to
+ write new code. The :mod:`subprocess` module is recommended instead.
+ (Contributed by Victor Stinner in :gh:`120743`.)
+
Removed
=======
diff --git a/Misc/NEWS.d/next/Library/2024-06-19-15-43-04.gh-issue-120743.CMMl2P.rst b/Misc/NEWS.d/next/Library/2024-06-19-15-43-04.gh-issue-120743.CMMl2P.rst
new file mode 100644
index 0000000..e06dcf8
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-06-19-15-43-04.gh-issue-120743.CMMl2P.rst
@@ -0,0 +1,3 @@
+:term:`Soft deprecate <soft deprecated>` :func:`os.popen` and :func:`os.spawn*
+<os.spawnl>` functions. They should no longer be used to write new code. The
+:mod:`subprocess` module is recommended instead. Patch by Victor Stinner.