You can run other programs via functions in the
os module or, in Python 2.4, by using the new
In Python 2.4, the best way for your program to run other processes is with the new
subprocess module, covered in The Subprocess Module. However, the
os module also offers several ways to do this, which in some cases may be simpler or allow your code to remain backward-compatible to older versions of Python.
The simplest way to run another program is through function
os.system, although this offers no way to control the external program. The
os module also provides a number of functions whose names start with
exec. These functions offer fine-grained control. A program run by one of the
exec functions replaces the current program (i.e., the Python interpreter) in the same process. In practice, therefore, you use the
exec functions mostly on platforms that let a process duplicate itself by
fork (i.e., Unix-like platforms).
os functions whose names start with
popen offer intermediate simplicity and power: they are cross-platform and not quite as simple as
system, but simple and usable enough for most purposes.
spawn functions run a specified executable file, given the executable file’s path, arguments to pass to it, and optionally an environment mapping. The
popen functions execute a command, which is a string passed to a new instance of the platform’s default shell (typically ...