6.1 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 dependent 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 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
-
The name of the OS dependent module imported. The following names
have currently been registered: 'posix', 'nt',
'dos', 'mac'.
- path
-
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
-
The constant string used by the OS to refer to the current directory,
e.g. '.' for POSIX or ':' for the Macintosh.
- pardir
-
The constant string used by the OS to refer to the parent directory,
e.g. '..' for POSIX or '::' for the Macintosh.
- sep
-
The character used by the OS to separate pathname components,
e.g. '/' for POSIX or ':' for the Macintosh. 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.
- altsep
-
An alternative character used by the OS to separate pathname components,
or None if only one separator character exists. This is set to
'/' on DOS/Windows systems where sep is a backslash.
- pathsep
-
The character conventionally used by the OS to separate search patch
components (as in $PATH), e.g. ':' for POSIX or
';' for MS-DOS.
- defpath
-
The default search path used by exec*p*() if the environment
doesn't have a 'PATH' key.
- execl (path, arg0, arg1, ...)
-
This is equivalent to
execv(path, (arg0, arg1, ...)).
- execle (path, arg0, arg1, ..., env)
-
This is equivalent to
execve(path, (arg0, arg1, ...), env).
- execlp (path, arg0, arg1, ...)
-
This is equivalent to
execvp(path, (arg0, arg1, ...)).
- execvp (path, args)
-
This is like execv(path, args) 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'].
- execvpe (path, args, env)
-
This is a cross between execve() and execvp().
The directory list is obtained from env['PATH'].
(The functions execv() and execve() are not
documented here, since they are implemented by the OS dependent
module. If the OS dependent module doesn't define either of these,
the functions that rely on it will raise an exception. They are
documented in the section on module posix, together with all
other functions that os imports from the OS dependent module.)
guido@python.org