This module provides a more portable way of using operating system dependent functionality
than importing a operating system dependent built-in module like posix or nt.
This module searches for an operating system dependent built-in module like mac or posix and
exports the same functions and data as found there. The design of all Python's built-in
operating system dependent modules is such that as long as the same functionality is
available, it uses the same interface; for example, the function
returns stat information about path in the same format (which happens to have
originated with the POSIX interface).
Extensions peculiar to a particular operating system 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 operating system dependent built-in module, so there should be no reason not
to use os!
The os module contains many functions and data values. The items
below and in the following sub-sections are all available directly from the os
- exception error
- This exception is raised when a function returns a system-related error (not for illegal
argument types or other incidental errors). This is also known as the built-in exception OSError. The accompanying value is a pair containing the numeric
error code from errno and the corresponding string, as would be
printed by the C function perror(). See the module errno
, which contains names for the error codes defined by the underlying operating system.
When exceptions are classes, this exception carries two attributes, errno
and strerror. The first holds the value of the C errno
variable, and the latter holds the corresponding error message from strerror().
For exceptions that involve a file system path (such as chdir()
or unlink()), the exception instance will contain a third
attribute, filename, which is the file name passed to the
- The name of the operating system dependent module imported. The following names have
currently been registered:
- The corresponding operating system dependent standard module for pathname operations,
such as posixpath or macpath. Thus, given
the proper imports,
os.path.split(file) is equivalent to but more
posixpath.split(file). Note that this is also an
importable module: it may be imported directly as os.path.