exec_command
Implements exec_command function that is (almost) equivalent to commands.getstatusoutput function but on NT, DOS systems the returned status is actually correct (though, the returned status values may be different by a factor). In addition, exec_command takes keyword arguments for (re-)defining environment variables.
Provides functions:
- exec_command --- execute command in a specified directory and
- in the modified environment.
- find_executable --- locate a command using info from environment
- variable PATH. Equivalent to posix
which
command.
Author: Pearu Peterson <pearu@cens.ioc.ee> Created: 11 January 2003
Requires: Python 2.x
Successfully tested on:
os.name | sys.platform | comments |
---|---|---|
posix | linux2 | Debian (sid) Linux, Python 2.1.3+, 2.2.3+, 2.3.3 PyCrust 0.9.3, Idle 1.0.2 |
posix | linux2 | Red Hat 9 Linux, Python 2.1.3, 2.2.2, 2.3.2 |
posix | sunos5 | SunOS 5.9, Python 2.2, 2.3.2 |
posix | darwin | Darwin 7.2.0, Python 2.3 |
nt | win32 | Windows Me Python 2.3(EE), Idle 1.0, PyCrust 0.7.2 Python 2.1.1 Idle 0.8 |
nt | win32 | Windows 98, Python 2.1.1. Idle 0.8 |
nt | win32 | Cygwin 98-4.10, Python 2.1.1(MSC) - echo tests
fail i.e. redefining environment variables may
not work. FIXED: don't use cygwin echo!
Comment: also cmd /c echo will not work
but redefining environment variables do work. |
posix | cygwin | Cygwin 98-4.10, Python 2.3.3(cygming special) |
nt | win32 | Windows XP, Python 2.3.3 |
Known bugs:
- Tests, that send messages to stderr, fail when executed from MSYS prompt because the messages are lost at some point.
Function | exec |
Return (status,output) of executed command. |
Function | filepath |
Convert bytes in the encoding used by a subprocess into a filesystem-appropriate str . |
Function | find |
Return full path of a executable or None. |
Function | forward |
Forward bytes from a subprocess call to the console, without attempting to decode them. |
Function | get |
Undocumented |
Function | temp |
Undocumented |
Function | _exec |
Internal workhorse for exec_command(). |
Function | _preserve |
Undocumented |
Function | _quote |
Quote the argument for safe use in a shell command line. |
Function | _update |
Undocumented |
Return (status,output) of executed command.
Notes
On NT, DOS systems the returned status is correct for external commands. Wild cards will not work for non-posix systems or when use_shell=0.
Parameters | |
command:str | A concatenated string of executable and arguments. |
executestr | Before running command cd execute_in and after cd -. |
use | If True, execute sh -c command. Default None (True) |
use | If True use tee. Default None (True) |
_with | Undocumented |
**env | Undocumented |
Returns | |
str | res - Both stdout and stderr messages. |
Convert bytes
in the encoding used by a subprocess into a filesystem-appropriate str
.
Inherited from exec_command
, and possibly incorrect.
Forward bytes from a subprocess call to the console, without attempting to decode them.
The assumption is that the subprocess call already returned bytes in a suitable encoding.