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
os.stat(path) returns stat information about path in
the same format (which happens to have originated with the
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 module.
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 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 portable than
posixpath.split(file). Note that this is also an
importable module: it may be imported directly as