15. 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:
- 15.1. os — Miscellaneous operating system interfaces
- 15.2. io — Core tools for working with streams
- 15.3. time — Time access and conversions
- 15.4. argparse – Parser for command line options, arguments and sub-commands
- 15.5. optparse — Parser for command line options
- 15.5.1. Background
- 15.5.2. Tutorial
- 15.5.3. Reference Guide
- 15.5.3.1. Creating the parser
- 15.5.3.2. Populating the parser
- 15.5.3.3. Defining options
- 15.5.3.4. Option attributes
- 15.5.3.5. Standard option actions
- 15.5.3.6. Standard option types
- 15.5.3.7. Parsing arguments
- 15.5.3.8. Querying and manipulating your option parser
- 15.5.3.9. Conflicts between options
- 15.5.3.10. Cleanup
- 15.5.3.11. Other methods
- 15.5.4. Option Callbacks
- 15.5.4.1. Defining a callback option
- 15.5.4.2. How callbacks are called
- 15.5.4.3. Raising errors in a callback
- 15.5.4.4. Callback example 1: trivial callback
- 15.5.4.5. Callback example 2: check option order
- 15.5.4.6. Callback example 3: check option order (generalized)
- 15.5.4.7. Callback example 4: check arbitrary condition
- 15.5.4.8. Callback example 5: fixed arguments
- 15.5.4.9. Callback example 6: variable arguments
- 15.5.5. Extending optparse
- 15.6. getopt — C-style parser for command line options
- 15.7. logging — Logging facility for Python
- 15.7.1. Logging tutorial
- 15.7.2. Logging Levels
- 15.7.3. Useful Handlers
- 15.7.4. Module-Level Functions
- 15.7.5. Logger Objects
- 15.7.6. Basic example
- 15.7.7. Logging to multiple destinations
- 15.7.8. Exceptions raised during logging
- 15.7.9. Adding contextual information to your logging output
- 15.7.10. Logging to a single file from multiple processes
- 15.7.11. Sending and receiving logging events across a network
- 15.7.12. Using arbitrary objects as messages
- 15.7.13. Optimization
- 15.7.14. Handler Objects
- 15.7.14.1. StreamHandler
- 15.7.14.2. FileHandler
- 15.7.14.3. NullHandler
- 15.7.14.4. WatchedFileHandler
- 15.7.14.5. RotatingFileHandler
- 15.7.14.6. TimedRotatingFileHandler
- 15.7.14.7. SocketHandler
- 15.7.14.8. DatagramHandler
- 15.7.14.9. SysLogHandler
- 15.7.14.10. NTEventLogHandler
- 15.7.14.11. SMTPHandler
- 15.7.14.12. MemoryHandler
- 15.7.14.13. HTTPHandler
- 15.7.15. Formatter Objects
- 15.7.16. Filter Objects
- 15.7.17. LogRecord Objects
- 15.7.18. LoggerAdapter Objects
- 15.7.19. Thread Safety
- 15.7.20. Integration with the warnings module
- 15.7.21. Configuration
- 15.7.22. More examples
- 15.8. getpass — Portable password input
- 15.9. curses — Terminal handling for character-cell displays
- 15.10. curses.textpad — Text input widget for curses programs
- 15.11. curses.wrapper — Terminal handler for curses programs
- 15.12. curses.ascii — Utilities for ASCII characters
- 15.13. curses.panel — A panel stack extension for curses
- 15.14. platform — Access to underlying platform’s identifying data
- 15.15. errno — Standard errno system symbols
- 15.16. ctypes — A foreign function library for Python
- 15.16.1. ctypes tutorial
- 15.16.1.1. Loading dynamic link libraries
- 15.16.1.2. Accessing functions from loaded dlls
- 15.16.1.3. Calling functions
- 15.16.1.4. Fundamental data types
- 15.16.1.5. Calling functions, continued
- 15.16.1.6. Calling functions with your own custom data types
- 15.16.1.7. Specifying the required argument types (function prototypes)
- 15.16.1.8. Return types
- 15.16.1.9. Passing pointers (or: passing parameters by reference)
- 15.16.1.10. Structures and unions
- 15.16.1.11. Structure/union alignment and byte order
- 15.16.1.12. Bit fields in structures and unions
- 15.16.1.13. Arrays
- 15.16.1.14. Pointers
- 15.16.1.15. Type conversions
- 15.16.1.16. Incomplete Types
- 15.16.1.17. Callback functions
- 15.16.1.18. Accessing values exported from dlls
- 15.16.1.19. Surprises
- 15.16.1.20. Variable-sized data types
- 15.16.2. ctypes reference
- 15.16.1. ctypes tutorial