Next: rand Prev: getopt Up: Standard Modules Top: Top

4.2. Standard Module os

This module provides a more portable way of using operating system (OS) dependent functionality than importing an OS dependent built-in module like posix.

When the optional built-in module posix is available, this module exports the same functions and data as posix; otherwise, it searches for an OS dependent built-in module like mac and exports the same functions and data as found there. The design of all Python's built-in OS dependen modules is such that as long as the same functionality is available, it uses the same interface; e.g., the function os.stat(file) returns stat info about a file in a format compatible with the POSIX interface.

Extensions peculiar to a particular OS are also available through the os module, but using them is of course a threat to portability!

Note that after the first time os is imported, there is no performance penalty in using functions from os instead of directly from the OS dependent built-in module, so there should be no reason not to use os!

In addition to whatever the correct OS dependent module exports, the following variables and functions are always exported by os:

name -- data of module os
The name of the OS dependent module imported, e.g. 'posix' or 'mac'.
path -- data of module os
The corresponding OS dependent standard module for pathname operations, e.g., posixpath or macpath. Thus, (given the proper imports), os.path.split(file) is equivalent to but more portable than posixpath.split(file).
curdir -- data of module os
The constant string used by the OS to refer to the current directory, e.g. '.' for POSIX or ':' for the Mac.
pardir -- data of module os
The constant string used by the OS to refer to the parent directory, e.g. '..' for POSIX or '::' for the Mac.
sep -- data of module os
The character used by the OS to separate pathname components, e.g. '/' for POSIX or ':' for the Mac. Note that knowing this is not sufficient to be able to parse or concatenate pathnames---better use os.path.split() and os.path.join()---but it is occasionally useful.
execl (path, arg0, arg1, ...) -- function of module os
This is equivalent to a call to os.execv with an argv of [arg0, arg1, ...].
execle (path, arg0, arg1, ..., env) -- function of module os
This is equivalent to a call to os.execve with an argv of [arg0, arg1, ...].
execlp (path, arg0, arg1, ...) -- function of module os
This is like execl but duplicates the shell's actions in searching for an executable file in a list of directories. The directory list is obtained from environ['PATH'].
execvp (path, arg0, arg1, ...) -- function of module os
execvp is for execv what execlp is for execl.