mirror of
https://github.com/python/cpython.git
synced 2025-08-03 16:39:00 +00:00
The commands module has been removed. The getoutput() and getstatusoutput()
functions have been added to the subprocess module. The fixer for this still needs to be written and proper Py3K deprecation warnings for the functions that didn't make the transition need to be done in 2.6. This is all part of trying to close issue #2872.
This commit is contained in:
parent
35af8d4218
commit
a23810f86a
13 changed files with 140 additions and 196 deletions
|
@ -14,7 +14,6 @@ replace several other, older modules and functions, such as::
|
|||
|
||||
os.system
|
||||
os.spawn*
|
||||
commands.*
|
||||
|
||||
Information about how the :mod:`subprocess` module can be used to replace these
|
||||
modules and functions can be found in the following sections.
|
||||
|
@ -113,7 +112,7 @@ This module defines one class called :class:`Popen`:
|
|||
Convenience Functions
|
||||
^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
This module also defines two shortcut functions:
|
||||
This module also defines four shortcut functions:
|
||||
|
||||
|
||||
.. function:: call(*popenargs, **kwargs)
|
||||
|
@ -138,6 +137,35 @@ This module also defines two shortcut functions:
|
|||
check_call(["ls", "-l"])
|
||||
|
||||
|
||||
.. function:: getstatusoutput(cmd)
|
||||
Return ``(status, output)`` of executing *cmd* in a shell.
|
||||
|
||||
Execute the string *cmd* in a shell with :func:`os.popen` and return a 2-tuple
|
||||
``(status, output)``. *cmd* is actually run as ``{ cmd ; } 2>&1``, so that the
|
||||
returned output will contain output or error messages. A trailing newline is
|
||||
stripped from the output. The exit status for the command can be interpreted
|
||||
according to the rules for the C function :cfunc:`wait`. Example::
|
||||
|
||||
>>> import subprocess
|
||||
>>> subprocess.getstatusoutput('ls /bin/ls')
|
||||
(0, '/bin/ls')
|
||||
>>> subprocess.getstatusoutput('cat /bin/junk')
|
||||
(256, 'cat: /bin/junk: No such file or directory')
|
||||
>>> subprocess.getstatusoutput('/bin/junk')
|
||||
(256, 'sh: /bin/junk: not found')
|
||||
|
||||
|
||||
.. function:: getoutput(cmd)
|
||||
Return output ``(stdout or stderr)`` of executing *cmd* in a shell.
|
||||
|
||||
Like :func:`getstatusoutput`, except the exit status is ignored and the return
|
||||
value is a string containing the command's output. Example::
|
||||
|
||||
>>> import subprocess
|
||||
>>> subprocess.getoutput('ls /bin/ls')
|
||||
'/bin/ls'
|
||||
|
||||
|
||||
Exceptions
|
||||
^^^^^^^^^^
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue