#
6. Generic Operating System Services

The modules described in this chapter provide interfaces to operating system features that are available on (almost) all operating systems, such as files and a clock. The interfaces are generally modeled after the Unix or C interfaces, but they are available on most other systems as well. Here's an overview:

`os` |  | Miscellaneous operating system interfaces.
`os.path` |  | Common pathname manipulations.
`dircache` |  | Return directory listing, with cache mechanism.
`stat` |  | Utilities for interpreting the results of `os.stat()`, `os.lstat()` and `os.fstat()`.
`statcache` |  | Stat files, and remember results.
`statvfs` |  | Constants for interpreting the result of `os.statvfs()`.
`filecmp` |  | Compare files efficiently.
`subprocess` |  | Subprocess management.
`popen2` |  | Subprocesses with accessible standard I/O streams.
`datetime` |  | Basic date and time types.
`time` |  | Time access and conversions.
`sched` |  | General purpose event scheduler.
`mutex` |  | Lock and queue for mutual exclusion.
`getpass` |  | Portable reading of passwords and retrieval of the userid.
`curses` |  | An interface to the curses library, providing portable terminal handling.
`curses.textpad` |  | Emacs-like input editing in a curses window.
`curses.wrapper` |  | Terminal configuration wrapper for curses programs.
`curses.ascii` |  | Constants and set-membership functions for ASCII characters.
`curses.panel` |  | A panel stack extension that adds depth to curses windows.
`getopt` |  | Portable parser for command line options; support both short and long option names.
`optparse` |  | More convenient, flexible, and powerful command-line parsing library.
`tempfile` |  | Generate temporary files and directories.
`errno` |  | Standard errno system symbols.
`glob` |  | Unix shell style pathname pattern expansion.
`fnmatch` |  | Unix shell style filename pattern matching.
`shutil` |  | High-level file operations, including copying.
`locale` |  | Internationalization services.
`gettext` |  | Multilingual internationalization services.
`logging` |  | Logging module for Python based on PEP 282.
`platform` |  | Retrieves as much platform identifying data as possible.