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 andin the modified environment. find_executable — locate a command using info from environmentvariable PATH. Equivalent to posix which command.
in the modified 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
Red Hat 9 Linux, Python 2.1.3, 2.2.2, 2.3.2
sunos5
SunOS 5.9, Python 2.2, 2.3.2
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
Windows 98, Python 2.1.1. Idle 0.8
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.
cygwin
Cygwin 98-4.10, Python 2.3.3(cygming special)
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.
Functions
exec_command(command[, execute_in, …])
Return (status,output) of executed command.
filepath_from_subprocess_output(output)
filepath_from_subprocess_output
Convert bytes in the encoding used by a subprocess into a filesystem-appropriate str.
find_executable(exe[, path, _cache])
find_executable
Return full path of a executable or None.
forward_bytes_to_stdout(val)
forward_bytes_to_stdout
Forward bytes from a subprocess call to the console, without attempting to decode them.
get_pythonexe()
get_pythonexe
temp_file_name()
temp_file_name