os
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 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
:
'posix'
, 'nt'
,
'dos'
, 'mac'
.
posixpath
or macpath
. Thus, (given
the proper imports), os.path.split(file)
is equivalent to but
more portable than posixpath.split(file)
.
'.'
for POSIX or ':'
for the Mac.
'..'
for POSIX or '::'
for the Mac.
'/'
for POSIX or ':'
for the Mac. 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.
$PATH
), e.g. ':'
for POSIX or
';'
for MS-DOS.
os.exec*p*()
if the environment
doesn't have a 'PATH'
key.
os.execv(path, (arg0, arg1, ...))
.
os.execve(path, (arg0, arg1, ...), env)
.
os.execvp(path, (arg0, arg1, ...))
.
os.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
os.environ['PATH']
.
os.execve()
and os.execvp()
.
The directory list is obtained from env['PATH']
.
os.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.)