Utilities for running commands
==============================
Utility functions for running external commands.
This manual section was written by Sue Williams <sbw@provis.com>.
The `commands' module contains wrapper functions for `os.popen()' which
take a system command as a string and return any output generated by
the command and, optionally, the exit status.
The `commands' module defines the following functions:
`getstatusoutput(cmd)'
Execute the string CMD in a shell with `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 `wait()'.
`getoutput(cmd)'
Like `getstatusoutput()', except the exit status is ignored and
the return value is a string containing the command's output.
`getstatus(file)'
Return the output of `ls -ld FILE' as a string. This function
uses the `getoutput()' function, and properly escapes backslashes
and dollar signs in the argument.
Example:
>>> import commands
>>> commands.getstatusoutput('ls /bin/ls')
(0, '/bin/ls')
>>> commands.getstatusoutput('cat /bin/junk')
(256, 'cat: /bin/junk: No such file or directory')
>>> commands.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
>>> commands.getoutput('ls /bin/ls')
'/bin/ls'
>>> commands.getstatus('/bin/ls')
'-rwxr-xr-x 1 root 13352 Oct 14 1994 /bin/ls'