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:
Function | exec_command |
Return (status,output) of executed command. |
Function | filepath_from_subprocess_output |
Convert bytes in the encoding used by a subprocess into a filesystem-appropriate str . |
Function | find_executable |
Return full path of a executable or None. |
Function | forward_bytes_to_stdout |
Forward bytes from a subprocess call to the console, without attempting to decode them. |
Function | get_pythonexe |
Undocumented |
Function | temp_file_name |
Undocumented |
Function | _exec_command |
Internal workhorse for exec_command(). |
Function | _preserve_environment |
Undocumented |
Function | _quote_arg |
Quote the argument for safe use in a shell command line. |
Function | _update_environment |
Undocumented |
Return (status,output) of executed command.
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.
Convert bytes
in the encoding used by a subprocess into a filesystem-appropriate str
.
Inherited from exec_command
, and possibly incorrect.
Return full path of a executable or None.
Symbolic links are not followed.
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.