GNU Info

Info Node: (python2.1-lib.info)commands

(python2.1-lib.info)commands


Prev: syslog Up: Unix Specific Services
Enter node , (file) or (file)node

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'


automatically generated by info2www version 1.2.2.9