The os Module
As mentioned, os contains all the usual
operating-system calls you may have used in your C programs and shell
scripts. Its calls deal with directories, processes, shell variables,
and the like. Technically, this module provides
POSIX tools -- a portable standard for
operating-system calls -- along with platform-independent
directory processing tools as nested module
os.path. Operationally, os
serves as a largely portable interface to your computer’s
system calls: scripts written with os and
os.path can usually be run on any platform
unchanged.
In fact, if you read the os module’s source
code, you’ll notice that it really just imports whatever
platform-specific system module you have on your computer (e.g.,
nt, mac,
posix). See the file os.py in
the Python source library directory -- it simply runs a
from* statement to copy all names out of a
platform-specific module. By always importing os
instead of platform-specific modules, though, your scripts are mostly
immune to platform implementation differences.
The Big os Lists
Let’s take a quick look at the basic interfaces in
os. If you inspect this module’s attributes
interactively, you get a huge list of names that will vary per Python
release, will likely vary per platform, and isn’t incredibly
useful until you’ve learned what each name means:
>>>import os>>>dir(os)['F_OK', 'O_APPEND', 'O_BINARY', 'O_CREAT', 'O_EXCL', 'O_RDONLY', 'O_RDWR', 'O_TEXT', 'O_TRUNC', 'O_WRONLY', 'P_DETACH', 'P_NOWAIT', 'P_NOWAITO', 'P_OVERLAY', ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access