Standard Module os

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:


\begin{datadesc}{name}
The name of the OS dependent module imported, e.g. \code{'posix'} or
\code{'mac'}.
\end{datadesc}


\begin{datadesc}{path}
The corresponding OS dependent standard module for pathna...
...ent to but
more portable than \code{posixpath.split(\var{file})}.
\end{datadesc}


\begin{datadesc}{curdir}
The constant string used by the OS to refer to the current directory,
e.g. \code{'.'} for POSIX or \code{':'} for the Mac.
\end{datadesc}


\begin{datadesc}{pardir}
The constant string used by the OS to refer to the parent directory,
e.g. \code{'..'} for POSIX or \code{'::'} for the Mac.
\end{datadesc}


\begin{datadesc}{sep}
The character used by the OS to separate pathname componen...
...lit()} and \code{os.path.join()}---but it is
occasionally useful.
\end{datadesc}


\begin{funcdesc}{execl}{path\, arg0\, arg1\, ...}
This is equivalent to a call t...
...xecv} with an \var{argv}
of \code{[\var{arg0}, \var{arg1}, ...]}.
\end{funcdesc}


\begin{funcdesc}{execle}{path\, arg0\, arg1\, ...\, env}
This is equivalent to a...
...ecve} with an \var{argv}
of \code{[\var{arg0}, \var{arg1}, ...]}.
\end{funcdesc}


\begin{funcdesc}{execlp}{path\, arg0\, arg1\, ...}
This is like \code{execl} but...
...ries. The
directory list is obtained from \code{environ['PATH']}.
\end{funcdesc}


\begin{funcdesc}{execvp}{path\, arg0\, arg1\, ...}
\code{execvp} is for \code{execv} what \code{execlp} is for \code{execl}.
\end{funcdesc}