From 6bf8fa66ffecd51d59e896a65b52c8c45b25e1f0 Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Fri, 11 May 2007 07:13:30 +0000 Subject: [PATCH] Deprecate os.popen* and popen2 module in favor of the subprocess module. (forgot the doc) --- Doc/lib/libos.tex | 21 ++++++++++++--------- Doc/lib/libpopen2.tex | 1 + 2 files changed, 13 insertions(+), 9 deletions(-) diff --git a/Doc/lib/libos.tex b/Doc/lib/libos.tex index 638ed6b6ed2..9783c1457f8 100644 --- a/Doc/lib/libos.tex +++ b/Doc/lib/libos.tex @@ -361,9 +361,8 @@ object, except that when the exit status is zero (termination without errors), \code{None} is returned. Availability: Macintosh, \UNIX, Windows. -The \module{subprocess} module provides more powerful facilities for -spawning new processes and retrieving their results; using that module -is preferable to using this function. +\deprecated{2.6}{This function is obsolete. Use the + \module{subprocess} module.} \versionchanged[This function worked unreliably under Windows in earlier versions of Python. This was due to the use of the @@ -380,10 +379,9 @@ Availability: Macintosh, \UNIX, Windows. \end{funcdesc} There are a number of different \function{popen*()} functions that -provide slightly different ways to create subprocesses. Note that the -\module{subprocess} module is easier to use and more powerful; -consider using that module before writing code using the -lower-level \function{popen*()} functions. +provide slightly different ways to create subprocesses. +\deprecated{2.6}{All of the \function{popen*()} functions are obsolete. + Use the \module{subprocess} module.} For each of the \function{popen*()} variants, if \var{bufsize} is specified, it specifies the buffer size for the I/O pipes. @@ -400,8 +398,7 @@ be passed to the shell (as with \function{os.system()}). These methods do not make it possible to retrieve the exit status from the child processes. The only way to control the input and output streams and also retrieve the return codes is to use the -\class{Popen3} and \class{Popen4} classes from the \refmodule{popen2} -module; these are only available on \UNIX. +\refmodule{subprocess} module; these are only available on \UNIX. For a discussion of possible deadlock conditions related to the use of these functions, see ``\ulink{Flow Control @@ -411,6 +408,8 @@ Issues}{popen2-flow-control.html}'' \begin{funcdesc}{popen2}{cmd\optional{, mode\optional{, bufsize}}} Executes \var{cmd} as a sub-process. Returns the file objects \code{(\var{child_stdin}, \var{child_stdout})}. +\deprecated{2.6}{All of the \function{popen*()} functions are obsolete. + Use the \module{subprocess} module.} Availability: Macintosh, \UNIX, Windows. \versionadded{2.0} \end{funcdesc} @@ -418,6 +417,8 @@ Availability: Macintosh, \UNIX, Windows. \begin{funcdesc}{popen3}{cmd\optional{, mode\optional{, bufsize}}} Executes \var{cmd} as a sub-process. Returns the file objects \code{(\var{child_stdin}, \var{child_stdout}, \var{child_stderr})}. +\deprecated{2.6}{All of the \function{popen*()} functions are obsolete. + Use the \module{subprocess} module.} Availability: Macintosh, \UNIX, Windows. \versionadded{2.0} \end{funcdesc} @@ -425,6 +426,8 @@ Availability: Macintosh, \UNIX, Windows. \begin{funcdesc}{popen4}{cmd\optional{, mode\optional{, bufsize}}} Executes \var{cmd} as a sub-process. Returns the file objects \code{(\var{child_stdin}, \var{child_stdout_and_stderr})}. +\deprecated{2.6}{All of the \function{popen*()} functions are obsolete. + Use the \module{subprocess} module.} Availability: Macintosh, \UNIX, Windows. \versionadded{2.0} \end{funcdesc} diff --git a/Doc/lib/libpopen2.tex b/Doc/lib/libpopen2.tex index 322a9b96352..5d40e1a7f96 100644 --- a/Doc/lib/libpopen2.tex +++ b/Doc/lib/libpopen2.tex @@ -5,6 +5,7 @@ \modulesynopsis{Subprocesses with accessible standard I/O streams.} \sectionauthor{Drew Csillag}{drew_csillag@geocities.com} +\deprecated{2.6}{This module is obsolete. Use the \module{subprocess} module.} This module allows you to spawn processes and connect to their input/output/error pipes and obtain their return codes under