This module provides a more portable way of using operating system (OS) dependent functionality than importing an OS dependent built-in module like posix or nt.
This module searches for an OS 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 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(path) returns stat information about path in the same format (which happens to have originated 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!
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 (e.g. chdir() or unlink()), the exception instance will contain a third attribute, filename, which is the file name passed to the function.
When exceptions are strings, the string for the exception is 'OSError'.