Link yang sudah diterjemahkan ke dalam bahasa Indonesia memiliki warna merah dan bertanda bintang (*)

Pelibatan lebih banyak penerjemah dapat anda sokong dengan DONASI.

  • What’s New in Python
    • What’s New in Python 2.7
      • The Future for Python 2.x
      • Python 3.1 Features
      • PEP 372: Adding an Ordered Dictionary to collections
      • PEP 378: Format Specifier for Thousands Separator
      • PEP 389: The argparse Module for Parsing Command Lines
      • PEP 391: Dictionary-Based Configuration For Logging
      • PEP 3106: Dictionary Views
      • PEP 3137: The memoryview Object
      • Other Language Changes
        • Interpreter Changes
        • Optimizations
      • New and Improved Modules
        • New module: importlib
        • New module: sysconfig
        • ttk: Themed Widgets for Tk
        • Updated module: unittest
        • Updated module: ElementTree 1.3
      • Build and C API Changes
        • Capsules
        • Port-Specific Changes: Windows
        • Port-Specific Changes: Mac OS X
        • Port-Specific Changes: FreeBSD
      • Other Changes and Fixes
      • Porting to Python 2.7
      • Acknowledgements
    • What’s New in Python 2.6
      • Python 3.0
      • Changes to the Development Process
        • New Issue Tracker: Roundup
        • New Documentation Format: reStructuredText Using Sphinx
      • PEP 343: The ‘with’ statement
        • Writing Context Managers
        • The contextlib module
      • PEP 366: Explicit Relative Imports From a Main Module
      • PEP 370: Per-user site-packages Directory
      • PEP 371: The multiprocessing Package
      • PEP 3101: Advanced String Formatting
      • PEP 3105: print As a Function
      • PEP 3110: Exception-Handling Changes
      • PEP 3112: Byte Literals
      • PEP 3116: New I/O Library
      • PEP 3118: Revised Buffer Protocol
      • PEP 3119: Abstract Base Classes
      • PEP 3127: Integer Literal Support and Syntax
      • PEP 3129: Class Decorators
      • PEP 3141: A Type Hierarchy for Numbers
        • The fractions Module
      • Other Language Changes
        • Optimizations
        • Interpreter Changes
      • New and Improved Modules
        • The ast module
        • The future_builtins module
        • The json module: JavaScript Object Notation
        • The plistlib module: A Property-List Parser
        • ctypes Enhancements
        • Improved SSL Support
      • Deprecations and Removals
      • Build and C API Changes
        • Port-Specific Changes: Windows
        • Port-Specific Changes: Mac OS X
        • Port-Specific Changes: IRIX
      • Porting to Python 2.6
      • Acknowledgements
    • What’s New in Python 2.5
      • PEP 308: Conditional Expressions
      • PEP 309: Partial Function Application
      • PEP 314: Metadata for Python Software Packages v1.1
      • PEP 328: Absolute and Relative Imports
      • PEP 338: Executing Modules as Scripts
      • PEP 341: Unified try/except/finally
      • PEP 342: New Generator Features
      • PEP 343: The ‘with’ statement
        • Writing Context Managers
        • The contextlib module
      • PEP 352: Exceptions as New-Style Classes
      • PEP 353: Using ssize_t as the index type
      • PEP 357: The ‘__index__’ method
      • Other Language Changes
        • Interactive Interpreter Changes
        • Optimizations
      • New, Improved, and Removed Modules
        • The ctypes package
        • The ElementTree package
        • The hashlib package
        • The sqlite3 package
        • The wsgiref package
      • Build and C API Changes
        • Port-Specific Changes
      • Porting to Python 2.5
      • Acknowledgements
    • What’s New in Python 2.4
      • PEP 218: Built-In Set Objects
      • PEP 237: Unifying Long Integers and Integers
      • PEP 289: Generator Expressions
      • PEP 292: Simpler String Substitutions
      • PEP 318: Decorators for Functions and Methods
      • PEP 322: Reverse Iteration
      • PEP 324: New subprocess Module
      • PEP 327: Decimal Data Type
        • Why is Decimal needed?
        • The Decimal type
        • The Context type
      • PEP 328: Multi-line Imports
      • PEP 331: Locale-Independent Float/String Conversions
      • Other Language Changes
        • Optimizations
      • New, Improved, and Deprecated Modules
        • cookielib
        • doctest
      • Build and C API Changes
        • Port-Specific Changes
      • Porting to Python 2.4
      • Acknowledgements
    • What’s New in Python 2.3
      • PEP 218: A Standard Set Datatype
      • PEP 255: Simple Generators
      • PEP 263: Source Code Encodings
      • PEP 273: Importing Modules from ZIP Archives
      • PEP 277: Unicode file name support for Windows NT
      • PEP 278: Universal Newline Support
      • PEP 279: enumerate()
      • PEP 282: The logging Package
      • PEP 285: A Boolean Type
      • PEP 293: Codec Error Handling Callbacks
      • PEP 301: Package Index and Metadata for Distutils
      • PEP 302: New Import Hooks
      • PEP 305: Comma-separated Files
      • PEP 307: Pickle Enhancements
      • Extended Slices
      • Other Language Changes
        • String Changes
        • Optimizations
      • New, Improved, and Deprecated Modules
        • Date/Time Type
        • The optparse Module
      • Pymalloc: A Specialized Object Allocator
      • Build and C API Changes
        • Port-Specific Changes
      • Other Changes and Fixes
      • Porting to Python 2.3
      • Acknowledgements
    • What’s New in Python 2.2
      • Introduction
      • PEPs 252 and 253: Type and Class Changes
        • Old and New Classes
        • Descriptors
        • Multiple Inheritance: The Diamond Rule
        • Attribute Access
        • Related Links
      • PEP 234: Iterators
      • PEP 255: Simple Generators
      • PEP 237: Unifying Long Integers and Integers
      • PEP 238: Changing the Division Operator
      • Unicode Changes
      • PEP 227: Nested Scopes
      • New and Improved Modules
      • Interpreter Changes and Fixes
      • Other Changes and Fixes
      • Acknowledgements
    • What’s New in Python 2.1
      • Introduction
      • PEP 227: Nested Scopes
      • PEP 236: __future__ Directives
      • PEP 207: Rich Comparisons
      • PEP 230: Warning Framework
      • PEP 229: New Build System
      • PEP 205: Weak References
      • PEP 232: Function Attributes
      • PEP 235: Importing Modules on Case-Insensitive Platforms
      • PEP 217: Interactive Display Hook
      • PEP 208: New Coercion Model
      • PEP 241: Metadata in Python Packages
      • New and Improved Modules
      • Other Changes and Fixes
      • Acknowledgements
    • What’s New in Python 2.0
      • Introduction
      • What About Python 1.6?
      • New Development Process
      • Unicode
      • List Comprehensions
      • Augmented Assignment
      • String Methods
      • Garbage Collection of Cycles
      • Other Core Changes
        • Minor Language Changes
        • Changes to Built-in Functions
      • Porting to 2.0
      • Extending/Embedding Changes
      • Distutils: Making Modules Easy to Install
      • XML Modules
        • SAX2 Support
        • DOM Support
        • Relationship to PyXML
      • Module changes
      • New modules
      • IDLE Improvements
      • Deleted and Deprecated Modules
      • Acknowledgements
  • The Python Tutorial
    • 1. Whetting Your Appetite
    • 2. Using the Python Interpreter
      • 2.1. Invoking the Interpreter
        • 2.1.1. Argument Passing
        • 2.1.2. Interactive Mode
      • 2.2. The Interpreter and Its Environment
        • 2.2.1. Error Handling
        • 2.2.2. Executable Python Scripts
        • 2.2.3. Source Code Encoding
        • 2.2.4. The Interactive Startup File
        • 2.2.5. The Customization Modules
    • 3. An Informal Introduction to Python
      • 3.1. Using Python as a Calculator
        • 3.1.1. Numbers
        • 3.1.2. Strings
        • 3.1.3. Unicode Strings
        • 3.1.4. Lists
      • 3.2. First Steps Towards Programming
    • 4. More Control Flow Tools
      • 4.1. if Statements
      • 4.2. for Statements
      • 4.3. The range() Function
      • 4.4. break and continue Statements, and else Clauses on Loops
      • 4.5. pass Statements
      • 4.6. Defining Functions
      • 4.7. More on Defining Functions
        • 4.7.1. Default Argument Values
        • 4.7.2. Keyword Arguments
        • 4.7.3. Arbitrary Argument Lists
        • 4.7.4. Unpacking Argument Lists
        • 4.7.5. Lambda Forms
        • 4.7.6. Documentation Strings
      • 4.8. Intermezzo: Coding Style
    • 5. Data Structures
      • 5.1. More on Lists
        • 5.1.1. Using Lists as Stacks
        • 5.1.2. Using Lists as Queues
        • 5.1.3. Functional Programming Tools
        • 5.1.4. List Comprehensions
        • 5.1.5. Nested List Comprehensions
      • 5.2. The del statement
      • 5.3. Tuples and Sequences
      • 5.4. Sets
      • 5.5. Dictionaries
      • 5.6. Looping Techniques
      • 5.7. More on Conditions
      • 5.8. Comparing Sequences and Other Types
    • 6. Modules
      • 6.1. More on Modules
        • 6.1.1. Executing modules as scripts
        • 6.1.2. The Module Search Path
        • 6.1.3. “Compiled” Python files
      • 6.2. Standard Modules
      • 6.3. The dir() Function
      • 6.4. Packages
        • 6.4.1. Importing * From a Package
        • 6.4.2. Intra-package References
        • 6.4.3. Packages in Multiple Directories
    • 7. Input and Output
      • 7.1. Fancier Output Formatting
        • 7.1.1. Old string formatting
      • 7.2. Reading and Writing Files
        • 7.2.1. Methods of File Objects
        • 7.2.2. The pickle Module
    • 8. Errors and Exceptions
      • 8.1. Syntax Errors
      • 8.2. Exceptions
      • 8.3. Handling Exceptions
      • 8.4. Raising Exceptions
      • 8.5. User-defined Exceptions
      • 8.6. Defining Clean-up Actions
      • 8.7. Predefined Clean-up Actions
    • 9. Classes
      • 9.1. A Word About Names and Objects
      • 9.2. Python Scopes and Namespaces
      • 9.3. A First Look at Classes
        • 9.3.1. Class Definition Syntax
        • 9.3.2. Class Objects
        • 9.3.3. Instance Objects
        • 9.3.4. Method Objects
      • 9.4. Random Remarks
      • 9.5. Inheritance
        • 9.5.1. Multiple Inheritance
      • 9.6. Private Variables
      • 9.7. Odds and Ends
      • 9.8. Exceptions Are Classes Too
      • 9.9. Iterators
      • 9.10. Generators
      • 9.11. Generator Expressions
    • 10. Brief Tour of the Standard Library
      • 10.1. Operating System Interface
      • 10.2. File Wildcards
      • 10.3. Command Line Arguments
      • 10.4. Error Output Redirection and Program Termination
      • 10.5. String Pattern Matching
      • 10.6. Mathematics
      • 10.7. Internet Access
      • 10.8. Dates and Times
      • 10.9. Data Compression
      • 10.10. Performance Measurement
      • 10.11. Quality Control
      • 10.12. Batteries Included
    • 11. Brief Tour of the Standard Library – Part II
      • 11.1. Output Formatting
      • 11.2. Templating
      • 11.3. Working with Binary Data Record Layouts
      • 11.4. Multi-threading
      • 11.5. Logging
      • 11.6. Weak References
      • 11.7. Tools for Working with Lists
      • 11.8. Decimal Floating Point Arithmetic
    • 12. What Now?
    • 13. Interactive Input Editing and History Substitution
      • 13.1. Line Editing
      • 13.2. History Substitution
      • 13.3. Key Bindings
      • 13.4. Alternatives to the Interactive Interpreter
    • 14. Floating Point Arithmetic: Issues and Limitations
      • 14.1. Representation Error
  • Python Setup and Usage
    • 1. Command line and environment
      • 1.1. Command line
        • 1.1.1. Interface options
        • 1.1.2. Generic options
        • 1.1.3. Miscellaneous options
        • 1.1.4. Options you shouldn’t use
      • 1.2. Environment variables
        • 1.2.1. Debug-mode variables
    • 2. Using Python on Unix platforms
      • 2.1. Getting and installing the latest version of Python
        • 2.1.1. On Linux
        • 2.1.2. On FreeBSD and OpenBSD
        • 2.1.3. On OpenSolaris
      • 2.2. Building Python
      • 2.3. Python-related paths and files
      • 2.4. Miscellaneous
      • 2.5. Editors
    • 3. Using Python on Windows
      • 3.1. Installing Python
      • 3.2. Alternative bundles
      • 3.3. Configuring Python
        • 3.3.1. Excursus: Setting environment variables
        • 3.3.2. Finding the Python executable
        • 3.3.3. Finding modules
        • 3.3.4. Executing scripts
      • 3.4. Additional modules
        • 3.4.1. PyWin32
        • 3.4.2. Py2exe
        • 3.4.3. WConio
      • 3.5. Compiling Python on Windows
      • 3.6. Other resources
    • 4. Using Python on a Macintosh
      • 4.1. Getting and Installing MacPython
        • 4.1.1. How to run a Python script
        • 4.1.2. Running scripts with a GUI
        • 4.1.3. Configuration
      • 4.2. The IDE
      • 4.3. Installing Additional Python Packages
      • 4.4. GUI Programming on the Mac
      • 4.5. Distributing Python Applications on the Mac
      • 4.6. Application Scripting
      • 4.7. Other Resources
  • The Python Language Reference
    • 1. Introduction
      • 1.1. Alternate Implementations
      • 1.2. Notation
    • 2. Lexical analysis
      • 2.1. Line structure
        • 2.1.1. Logical lines
        • 2.1.2. Physical lines
        • 2.1.3. Comments
        • 2.1.4. Encoding declarations
        • 2.1.5. Explicit line joining
        • 2.1.6. Implicit line joining
        • 2.1.7. Blank lines
        • 2.1.8. Indentation
        • 2.1.9. Whitespace between tokens
      • 2.2. Other tokens
      • 2.3. Identifiers and keywords
        • 2.3.1. Keywords
        • 2.3.2. Reserved classes of identifiers
      • 2.4. Literals
        • 2.4.1. String literals
        • 2.4.2. String literal concatenation
        • 2.4.3. Numeric literals
        • 2.4.4. Integer and long integer literals
        • 2.4.5. Floating point literals
        • 2.4.6. Imaginary literals
      • 2.5. Operators
      • 2.6. Delimiters
    • 3. Data model
      • 3.1. Objects, values and types
      • 3.2. The standard type hierarchy
      • 3.3. New-style and classic classes
      • 3.4. Special method names
        • 3.4.1. Basic customization
        • 3.4.2. Customizing attribute access
          • 3.4.2.1. More attribute access for new-style classes
          • 3.4.2.2. Implementing Descriptors
          • 3.4.2.3. Invoking Descriptors
          • 3.4.2.4. __slots__
        • 3.4.3. Customizing class creation
        • 3.4.4. Customizing instance and subclass checks
        • 3.4.5. Emulating callable objects
        • 3.4.6. Emulating container types
        • 3.4.7. Additional methods for emulation of sequence types
        • 3.4.8. Emulating numeric types
        • 3.4.9. Coercion rules
        • 3.4.10. With Statement Context Managers
        • 3.4.11. Special method lookup for old-style classes
        • 3.4.12. Special method lookup for new-style classes
    • 4. Execution model
      • 4.1. Naming and binding
        • 4.1.1. Interaction with dynamic features
      • 4.2. Exceptions
    • 5. Expressions
      • 5.1. Arithmetic conversions
      • 5.2. Atoms
        • 5.2.1. Identifiers (Names)
        • 5.2.2. Literals
        • 5.2.3. Parenthesized forms
        • 5.2.4. List displays
        • 5.2.5. Displays for sets and dictionaries
        • 5.2.6. Generator expressions
        • 5.2.7. Dictionary displays
        • 5.2.8. Set displays
        • 5.2.9. String conversions
        • 5.2.10. Yield expressions
      • 5.3. Primaries
        • 5.3.1. Attribute references
        • 5.3.2. Subscriptions
        • 5.3.3. Slicings
        • 5.3.4. Calls
      • 5.4. The power operator
      • 5.5. Unary arithmetic and bitwise operations
      • 5.6. Binary arithmetic operations
      • 5.7. Shifting operations
      • 5.8. Binary bitwise operations
      • 5.9. Comparisons
      • 5.10. Boolean operations
      • 5.11. Conditional Expressions
      • 5.12. Lambdas
      • 5.13. Expression lists
      • 5.14. Evaluation order
      • 5.15. Summary
    • 6. Simple statements
      • 6.1. Expression statements
      • 6.2. Assignment statements
        • 6.2.1. Augmented assignment statements
      • 6.3. The assert statement
      • 6.4. The pass statement
      • 6.5. The del statement
      • 6.6. The print statement
      • 6.7. The return statement
      • 6.8. The yield statement
      • 6.9. The raise statement
      • 6.10. The break statement
      • 6.11. The continue statement
      • 6.12. The importstatement
        • 6.12.1. Future statements
      • 6.13. The global statement
      • 6.14. The exec statement
    • 7. Compound statements
      • 7.1. The if statement
      • 7.2. The while statement
      • 7.3. The for statement
      • 7.4. The try statement
      • 7.5. The with statement
      • 7.6. Function definitions
      • 7.7. Class definitions
    • 8. Top-level components
      • 8.1. Complete Python programs
      • 8.2. File input
      • 8.3. Interactive input
      • 8.4. Expression input
    • 9. Full Grammar specification
  • The Python Standard Library
    • 1. Introduction
    • 2. Built-in Functions
    • 3. Non-essential Built-in Functions
    • 4. Built-in Constants
      • 4.1. Constants added by the site module
    • 5. Built-in Types
      • 5.1. Truth Value Testing
      • 5.2. Boolean Operations — and, or, not
      • 5.3. Comparisons
      • 5.4. Numeric Types — int, float, long, complex
        • 5.4.1. Bit-string Operations on Integer Types
        • 5.4.2. Additional Methods on Integer Types
        • 5.4.3. Additional Methods on Float
      • 5.5. Iterator Types
        • 5.5.1. Generator Types
      • 5.6. Sequence Types — str, unicode, list, tuple, bytearray, buffer, xrange
        • 5.6.1. String Methods
        • 5.6.2. String Formatting Operations
        • 5.6.3. XRange Type
        • 5.6.4. Mutable Sequence Types
      • 5.7. Set Types — set, frozenset
      • 5.8. Mapping Types — dict
        • 5.8.1. Dictionary view objects
      • 5.9. File Objects
      • 5.10. memoryview type
      • 5.11. Context Manager Types
      • 5.12. Other Built-in Types
        • 5.12.1. Modules
        • 5.12.2. Classes and Class Instances
        • 5.12.3. Functions
        • 5.12.4. Methods
        • 5.12.5. Code Objects
        • 5.12.6. Type Objects
        • 5.12.7. The Null Object
        • 5.12.8. The Ellipsis Object
        • 5.12.9. The NotImplemented Object
        • 5.12.10. Boolean Values
        • 5.12.11. Internal Objects
      • 5.13. Special Attributes
    • 6. Built-in Exceptions
      • 6.1. Exception hierarchy
    • 7. String Services
      • 7.1. string— Common string operations
        • 7.1.1. String constants
        • 7.1.2. String Formatting
        • 7.1.3. Format String Syntax
          • 7.1.3.1. Format Specification Mini-Language
          • 7.1.3.2. Format examples
        • 7.1.4. Template strings
        • 7.1.5. String functions
        • 7.1.6. Deprecated string functions
      • 7.2. re— Regular expression operations
        • 7.2.1. Regular Expression Syntax
        • 7.2.2. Matching vs Searching
        • 7.2.3. Module Contents
        • 7.2.4. Regular Expression Objects
        • 7.2.5. Match Objects
        • 7.2.6. Examples
          • 7.2.6.1. Checking For a Pair
          • 7.2.6.2. Simulating scanf()
          • 7.2.6.3. Avoiding recursion
          • 7.2.6.4. search() vs. match()
          • 7.2.6.5. Making a Phonebook
          • 7.2.6.6. Text Munging
          • 7.2.6.7. Finding all Adverbs
          • 7.2.6.8. Finding all Adverbs and their Positions
          • 7.2.6.9. Raw String Notation
      • 7.3. struct— Interpret strings as packed binary data
        • 7.3.1. Functions and Exceptions
        • 7.3.2. Format Strings
          • 7.3.2.1. Byte Order, Size, and Alignment
          • 7.3.2.2. Format Characters
          • 7.3.2.3. Examples
        • 7.3.3. Classes
      • 7.4. difflib— Helpers for computing deltas
        • 7.4.1. SequenceMatcher Objects
        • 7.4.2. SequenceMatcher Examples
        • 7.4.3. Differ Objects
        • 7.4.4. Differ Example
        • 7.4.5. A command-line interface to difflib
      • 7.5. StringIO — Read and write strings as files
      • 7.6. cStringIO — Faster version of StringIO
      • 7.7. textwrap — Text wrapping and filling
      • 7.8. codecs— Codec registry and base classes
        • 7.8.1. Codec Base Classes
          • 7.8.1.1. Codec Objects
          • 7.8.1.2. IncrementalEncoder Objects
          • 7.8.1.3. IncrementalDecoder Objects
          • 7.8.1.4. StreamWriter Objects
          • 7.8.1.5. StreamReader Objects
          • 7.8.1.6. StreamReaderWriter Objects
          • 7.8.1.7. StreamRecoder Objects
        • 7.8.2. Encodings and Unicode
        • 7.8.3. Standard Encodings
        • 7.8.4. encodings.idna — Internationalized Domain Names in Applications
        • 7.8.5. encodings.utf_8_sig — UTF-8 codec with BOM signature
      • 7.9. unicodedata — Unicode Database
      • 7.10. stringprep — Internet String Preparation
      • 7.11. fpformat — Floating point conversions
    • 8. Data Types
      • 8.1. datetime— Basic date and time types
        • 8.1.1. Available Types
        • 8.1.2. timedelta Objects
        • 8.1.3. date Objects
        • 8.1.4. datetime Objects
        • 8.1.5. time Objects
        • 8.1.6. tzinfo Objects
        • 8.1.7. strftime() and strptime() Behavior
      • 8.2. calendar — General calendar-related functions
      • 8.3. collections— High-performance container datatypes
        • 8.3.1. Counter objects
        • 8.3.2. dequeobjects
          • 8.3.2.1. deque Recipes
        • 8.3.3. defaultdictobjects
          • 8.3.3.1. defaultdict Examples
        • 8.3.4. namedtuple() Factory Function for Tuples with Named Fields
        • 8.3.5. OrderedDictobjects
          • 8.3.5.1. OrderedDict Examples and Recipes
        • 8.3.6. Collections Abstract Base Classes
      • 8.4. heapq— Heap queue algorithm
        • 8.4.1. Basic Examples
        • 8.4.2. Priority Queue Implementation Notes
        • 8.4.3. Theory
      • 8.5. bisect— Array bisection algorithm
        • 8.5.1. Searching Sorted Lists
        • 8.5.2. Other Examples
      • 8.6. array — Efficient arrays of numeric values
      • 8.7. sets— Unordered collections of unique elements
        • 8.7.1. Set Objects
        • 8.7.2. Example
        • 8.7.3. Protocol for automatic conversion to immutable
        • 8.7.4. Comparison to the built-in set types
      • 8.8. sched— Event scheduler
        • 8.8.1. Scheduler Objects
      • 8.9. mutex— Mutual exclusion support
        • 8.9.1. Mutex Objects
      • 8.10. Queue— A synchronized queue class
        • 8.10.1. Queue Objects
      • 8.11. weakref— Weak references
        • 8.11.1. Weak Reference Objects
        • 8.11.2. Example
      • 8.12. UserDict — Class wrapper for dictionary objects
      • 8.13. UserList — Class wrapper for list objects
      • 8.14. UserString — Class wrapper for string objects
      • 8.15. types — Names for built-in types
      • 8.16. new — Creation of runtime internal objects
      • 8.17. copy — Shallow and deep copy operations
      • 8.18. pprint— Data pretty printer
        • 8.18.1. PrettyPrinter Objects
        • 8.18.2. pprint Example
      • 8.19. repr — Alternate repr()implementation
        • 8.19.1. Repr Objects
        • 8.19.2. Subclassing Repr Objects
    • 9. Numeric and Mathematical Modules
      • 9.1. numbers— Numeric abstract base classes
        • 9.1.1. The numeric tower
        • 9.1.2. Notes for type implementors
          • 9.1.2.1. Adding More Numeric ABCs
          • 9.1.2.2. Implementing the arithmetic operations
      • 9.2. math— Mathematical functions
        • 9.2.1. Number-theoretic and representation functions
        • 9.2.2. Power and logarithmic functions
        • 9.2.3. Trigonometric functions
        • 9.2.4. Angular conversion
        • 9.2.5. Hyperbolic functions
        • 9.2.6. Special functions
        • 9.2.7. Constants
      • 9.3. cmath— Mathematical functions for complex numbers
        • 9.3.1. Conversions to and from polar coordinates
        • 9.3.2. Power and logarithmic functions
        • 9.3.3. Trigonometric functions
        • 9.3.4. Hyperbolic functions
        • 9.3.5. Classification functions
        • 9.3.6. Constants
      • 9.4. decimal— Decimal fixed point and floating point arithmetic
        • 9.4.1. Quick-start Tutorial
        • 9.4.2. Decimal objects
          • 9.4.2.1. Logical operands
        • 9.4.3. Context objects
        • 9.4.4. Signals
        • 9.4.5. Floating Point Notes
          • 9.4.5.1. Mitigating round-off error with increased precision
          • 9.4.5.2. Special values
        • 9.4.6. Working with threads
        • 9.4.7. Recipes
        • 9.4.8. Decimal FAQ
      • 9.5. fractions — Rational numbers
      • 9.6. random — Generate pseudo-random numbers
      • 9.7. itertools— Functions creating iterators for efficient looping
        • 9.7.1. Itertool functions
        • 9.7.2. Recipes
      • 9.8. functools— Higher order functions and operations on callable objects
        • 9.8.1. partial Objects
      • 9.9. operator— Standard operators as functions
        • 9.9.1. Mapping Operators to Functions
    • 10. File and Directory Access
      • 10.1. os.path — Common pathname manipulations
      • 10.2. fileinput — Iterate over lines from multiple input streams
      • 10.3. stat — Interpreting stat() results
      • 10.4. statvfs — Constants used with os.statvfs()
      • 10.5. filecmp— File and Directory Comparisons
        • 10.5.1. The dircmp class
      • 10.6. tempfile — Generate temporary files and directories
      • 10.7. glob — Unix style pathname pattern expansion
      • 10.8. fnmatch — Unix filename pattern matching
      • 10.9. linecache — Random access to text lines
      • 10.10. shutil— High-level file operations
        • 10.10.1. Directory and files operations
          • 10.10.1.1. copytree example
        • 10.10.2. Archives operations
          • 10.10.2.1. Archiving example
      • 10.11. dircache — Cached directory listings
      • 10.12. macpath — Mac OS 9 path manipulation functions
    • 11. Data Persistence
      • 11.1. pickle— Python object serialization
        • 11.1.1. Relationship to other Python modules
        • 11.1.2. Data stream format
        • 11.1.3. Usage
        • 11.1.4. What can be pickled and unpickled?
        • 11.1.5. The pickle protocol
          • 11.1.5.1. Pickling and unpickling normal class instances
          • 11.1.5.2. Pickling and unpickling extension types
          • 11.1.5.3. Pickling and unpickling external objects
        • 11.1.6. Subclassing Unpicklers
        • 11.1.7. Example
      • 11.2. cPickle — A faster pickle
      • 11.3. copy_reg — Register pickle support functions
      • 11.4. shelve— Python object persistence
        • 11.4.1. Restrictions
        • 11.4.2. Example
      • 11.5. marshal — Internal Python object serialization
      • 11.6. anydbm — Generic access to DBM-style databases
      • 11.7. whichdb — Guess which DBM module created a database
      • 11.8. dbm — Simple “database” interface
      • 11.9. gdbm — GNU’s reinterpretation of dbm
      • 11.10. dbhash— DBM-style interface to the BSD database library
        • 11.10.1. Database Objects
      • 11.11. bsddb— Interface to Berkeley DB library
        • 11.11.1. Hash, BTree and Record Objects
      • 11.12. dumbdbm— Portable DBM implementation
        • 11.12.1. Dumbdbm Objects
      • 11.13. sqlite3— DB-API 2.0 interface for SQLite databases
        • 11.13.1. Module functions and constants
        • 11.13.2. Connection Objects
        • 11.13.3. Cursor Objects
        • 11.13.4. Row Objects
        • 11.13.5. SQLite and Python types
          • 11.13.5.1. Introduction
          • 11.13.5.2. Using adapters to store additional Python types in SQLite databases
            • 11.13.5.2.1. Letting your object adapt itself
            • 11.13.5.2.2. Registering an adapter callable
          • 11.13.5.3. Converting SQLite values to custom Python types
          • 11.13.5.4. Default adapters and converters
        • 11.13.6. Controlling Transactions
        • 11.13.7. Using sqlite3efficiently
          • 11.13.7.1. Using shortcut methods
          • 11.13.7.2. Accessing columns by name instead of by index
          • 11.13.7.3. Using the connection as a context manager
        • 11.13.8. Common issues
          • 11.13.8.1. Multithreading
    • 12. Data Compression and Archiving
      • 12.1. zlib — Compression compatible with gzip
      • 12.2. gzip — Support for gzipfiles
        • 12.2.1. Examples of usage
      • 12.3. bz2 — Compression compatible with bzip2
        • 12.3.1. (De)compression of files
        • 12.3.2. Sequential (de)compression
        • 12.3.3. One-shot (de)compression
      • 12.4. zipfile— Work with ZIP archives
        • 12.4.1. ZipFile Objects
        • 12.4.2. PyZipFile Objects
        • 12.4.3. ZipInfo Objects
      • 12.5. tarfile— Read and write tar archive files
        • 12.5.1. TarFile Objects
        • 12.5.2. TarInfo Objects
        • 12.5.3. Examples
        • 12.5.4. Supported tar formats
        • 12.5.5. Unicode issues
    • 13. File Formats
      • 13.1. csv— CSV File Reading and Writing
        • 13.1.1. Module Contents
        • 13.1.2. Dialects and Formatting Parameters
        • 13.1.3. Reader Objects
        • 13.1.4. Writer Objects
        • 13.1.5. Examples
      • 13.2. ConfigParser— Configuration file parser
        • 13.2.1. RawConfigParser Objects
        • 13.2.2. ConfigParser Objects
        • 13.2.3. SafeConfigParser Objects
        • 13.2.4. Examples
      • 13.3. robotparser — Parser for robots.txt
      • 13.4. netrc— netrc file processing
        • 13.4.1. netrc Objects
      • 13.5. xdrlib— Encode and decode XDR data
        • 13.5.1. Packer Objects
        • 13.5.2. Unpacker Objects
        • 13.5.3. Exceptions
      • 13.6. plistlib — Generate and parse Mac OS X .plistfiles
        • 13.6.1. Examples
    • 14. Cryptographic Services
      • 14.1. hashlib — Secure hashes and message digests
      • 14.2. hmac — Keyed-Hashing for Message Authentication
      • 14.3. md5 — MD5 message digest algorithm
      • 14.4. sha — SHA-1 message digest algorithm
    • 15. Generic Operating System Services
      • 15.1. os— Miscellaneous operating system interfaces
        • 15.1.1. Process Parameters
        • 15.1.2. File Object Creation
        • 15.1.3. File Descriptor Operations
          • 15.1.3.1. open() flag constants
        • 15.1.4. Files and Directories
        • 15.1.5. Process Management
        • 15.1.6. Miscellaneous System Information
        • 15.1.7. Miscellaneous Functions
      • 15.2. io— Core tools for working with streams
        • 15.2.1. Module Interface
        • 15.2.2. I/O Base Classes
        • 15.2.3. Raw File I/O
        • 15.2.4. Buffered Streams
        • 15.2.5. Text I/O
        • 15.2.6. Advanced topics
          • 15.2.6.1. Performance
            • 15.2.6.1.1. Binary I/O
            • 15.2.6.1.2. Text I/O
          • 15.2.6.2. Multi-threading
          • 15.2.6.3. Reentrancy
      • 15.3. time — Time access and conversions
      • 15.4. argparse— Parser for command-line options, arguments and sub-commands
        • 15.4.1. Example
          • 15.4.1.1. Creating a parser
          • 15.4.1.2. Adding arguments
          • 15.4.1.3. Parsing arguments
        • 15.4.2. ArgumentParser objects
          • 15.4.2.1. description
          • 15.4.2.2. epilog
          • 15.4.2.3. add_help
          • 15.4.2.4. prefix_chars
          • 15.4.2.5. fromfile_prefix_chars
          • 15.4.2.6. argument_default
          • 15.4.2.7. parents
          • 15.4.2.8. formatter_class
          • 15.4.2.9. conflict_handler
          • 15.4.2.10. prog
          • 15.4.2.11. usage
        • 15.4.3. The add_argument() method
          • 15.4.3.1. name or flags
          • 15.4.3.2. action
          • 15.4.3.3. nargs
          • 15.4.3.4. const
          • 15.4.3.5. default
          • 15.4.3.6. type
          • 15.4.3.7. choices
          • 15.4.3.8. required
          • 15.4.3.9. help
          • 15.4.3.10. metavar
          • 15.4.3.11. dest
        • 15.4.4. The parse_args() method
          • 15.4.4.1. Option value syntax
          • 15.4.4.2. Invalid arguments
          • 15.4.4.3. Arguments containing -
          • 15.4.4.4. Argument abbreviations
          • 15.4.4.5. Beyond sys.argv
          • 15.4.4.6. The Namespace object
        • 15.4.5. Other utilities
          • 15.4.5.1. Sub-commands
          • 15.4.5.2. FileType objects
          • 15.4.5.3. Argument groups
          • 15.4.5.4. Mutual exclusion
          • 15.4.5.5. Parser defaults
          • 15.4.5.6. Printing help
          • 15.4.5.7. Partial parsing
          • 15.4.5.8. Customizing file parsing
          • 15.4.5.9. Exiting methods
        • 15.4.6. Upgrading optparse code
      • 15.5. optparse— Parser for command line options
        • 15.5.1. Background
          • 15.5.1.1. Terminology
          • 15.5.1.2. What are options for?
          • 15.5.1.3. What are positional arguments for?
        • 15.5.2. Tutorial
          • 15.5.2.1. Understanding option actions
          • 15.5.2.2. The store action
          • 15.5.2.3. Handling boolean (flag) options
          • 15.5.2.4. Other actions
          • 15.5.2.5. Default values
          • 15.5.2.6. Generating help
            • 15.5.2.6.1. Grouping Options
          • 15.5.2.7. Printing a version string
          • 15.5.2.8. How optparse handles errors
          • 15.5.2.9. Putting it all together
        • 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.5.5.1. Adding new types
          • 15.5.5.2. Adding new actions
      • 15.6. getopt — C-style parser for command line options
      • 15.7. logging— Logging facility for Python
        • 15.7.1. Logger Objects
        • 15.7.2. Handler Objects
        • 15.7.3. Formatter Objects
        • 15.7.4. Filter Objects
        • 15.7.5. LogRecord Objects
        • 15.7.6. LogRecord attributes
        • 15.7.7. LoggerAdapter Objects
        • 15.7.8. Thread Safety
        • 15.7.9. Module-Level Functions
        • 15.7.10. Integration with the warnings module
      • 15.8. logging.config— Logging configuration
        • 15.8.1. Configuration functions
        • 15.8.2. Configuration dictionary schema
          • 15.8.2.1. Dictionary Schema Details
          • 15.8.2.2. Incremental Configuration
          • 15.8.2.3. Object connections
          • 15.8.2.4. User-defined objects
          • 15.8.2.5. Access to external objects
          • 15.8.2.6. Access to internal objects
          • 15.8.2.7. Import resolution and custom importers
        • 15.8.3. Configuration file format
      • 15.9. logging.handlers— Logging handlers
        • 15.9.1. StreamHandler
        • 15.9.2. FileHandler
        • 15.9.3. NullHandler
        • 15.9.4. WatchedFileHandler
        • 15.9.5. RotatingFileHandler
        • 15.9.6. TimedRotatingFileHandler
        • 15.9.7. SocketHandler
        • 15.9.8. DatagramHandler
        • 15.9.9. SysLogHandler
        • 15.9.10. NTEventLogHandler
        • 15.9.11. SMTPHandler
        • 15.9.12. MemoryHandler
        • 15.9.13. HTTPHandler
      • 15.10. getpass — Portable password input
      • 15.11. curses — Penangan Terminal untuk tampilan character-cell *
        • 15.11.1. Functions
        • 15.11.2. Window Objects
        • 15.11.3. Constants
      • 15.12. curses.textpad— Text input widget for curses programs
        • 15.12.1. Textbox objects
      • 15.13. curses.ascii — Utilities for ASCII characters
      • 15.14. curses.panel— A panel stack extension for curses
        • 15.14.1. Functions
        • 15.14.2. Panel Objects
      • 15.15. platform— Access to underlying platform’s identifying data
        • 15.15.1. Cross Platform
        • 15.15.2. Java Platform
        • 15.15.3. Windows Platform
          • 15.15.3.1. Win95/98 specific
        • 15.15.4. Mac OS Platform
        • 15.15.5. Unix Platforms
      • 15.16. errno — Standard errno system symbols
      • 15.17. ctypes— A foreign function library for Python
        • 15.17.1. ctypes tutorial
          • 15.17.1.1. Loading dynamic link libraries
          • 15.17.1.2. Accessing functions from loaded dlls
          • 15.17.1.3. Calling functions
          • 15.17.1.4. Fundamental data types
          • 15.17.1.5. Calling functions, continued
          • 15.17.1.6. Calling functions with your own custom data types
          • 15.17.1.7. Specifying the required argument types (function prototypes)
          • 15.17.1.8. Return types
          • 15.17.1.9. Passing pointers (or: passing parameters by reference)
          • 15.17.1.10. Structures and unions
          • 15.17.1.11. Structure/union alignment and byte order
          • 15.17.1.12. Bit fields in structures and unions
          • 15.17.1.13. Arrays
          • 15.17.1.14. Pointers
          • 15.17.1.15. Type conversions
          • 15.17.1.16. Incomplete Types
          • 15.17.1.17. Callback functions
          • 15.17.1.18. Accessing values exported from dlls
          • 15.17.1.19. Surprises
          • 15.17.1.20. Variable-sized data types
        • 15.17.2. ctypes reference
          • 15.17.2.1. Finding shared libraries
          • 15.17.2.2. Loading shared libraries
          • 15.17.2.3. Foreign functions
          • 15.17.2.4. Function prototypes
          • 15.17.2.5. Utility functions
          • 15.17.2.6. Data types
          • 15.17.2.7. Fundamental data types
          • 15.17.2.8. Structured data types
          • 15.17.2.9. Arrays and pointers
    • 16. Optional Operating System Services
      • 16.1. select— Waiting for I/O completion
        • 16.1.1. Edge and Level Trigger Polling (epoll) Objects
        • 16.1.2. Polling Objects
        • 16.1.3. Kqueue Objects
        • 16.1.4. Kevent Objects
      • 16.2. threading— Higher-level threading interface
        • 16.2.1. Thread Objects
        • 16.2.2. Lock Objects
        • 16.2.3. RLock Objects
        • 16.2.4. Condition Objects
        • 16.2.5. Semaphore Objects
          • 16.2.5.1. Semaphore Example
        • 16.2.6. Event Objects
        • 16.2.7. Timer Objects
        • 16.2.8. Using locks, conditions, and semaphores in the with statement
        • 16.2.9. Importing in threaded code
      • 16.3. thread — Multiple threads of control
      • 16.4. dummy_threading — Drop-in replacement for the threading module
      • 16.5. dummy_thread — Drop-in replacement for the thread module
      • 16.6. multiprocessing— Process-based “threading” interface
        • 16.6.1. Introduction
          • 16.6.1.1. The Process class
          • 16.6.1.2. Exchanging objects between processes
          • 16.6.1.3. Synchronization between processes
          • 16.6.1.4. Sharing state between processes
          • 16.6.1.5. Using a pool of workers
        • 16.6.2. Reference
          • 16.6.2.1. Process and exceptions
          • 16.6.2.2. Pipes and Queues
          • 16.6.2.3. Miscellaneous
          • 16.6.2.4. Connection Objects
          • 16.6.2.5. Synchronization primitives
          • 16.6.2.6. Shared ctypesObjects
            • 16.6.2.6.1. The multiprocessing.sharedctypes module
          • 16.6.2.7. Managers
            • 16.6.2.7.1. Namespace objects
            • 16.6.2.7.2. Customized managers
            • 16.6.2.7.3. Using a remote manager
          • 16.6.2.8. Proxy Objects
            • 16.6.2.8.1. Cleanup
          • 16.6.2.9. Process Pools
          • 16.6.2.10. Listeners and Clients
            • 16.6.2.10.1. Address Formats
          • 16.6.2.11. Authentication keys
          • 16.6.2.12. Logging
          • 16.6.2.13. The multiprocessing.dummy module
        • 16.6.3. Programming guidelines
          • 16.6.3.1. All platforms
          • 16.6.3.2. Windows
        • 16.6.4. Examples
      • 16.7. mmap — Memory-mapped file support
      • 16.8. readline— GNU readline interface
        • 16.8.1. Example
      • 16.9. rlcompleter— Completion function for GNU readline
        • 16.9.1. Completer Objects
    • 17. Interprocess Communication and Networking
      • 17.1. subprocess— Subprocess management
        • 17.1.1. Using the subprocess Module
          • 17.1.1.1. Convenience Functions
          • 17.1.1.2. Exceptions
          • 17.1.1.3. Security
        • 17.1.2. Popen Objects
        • 17.1.3. Windows Popen Helpers
          • 17.1.3.1. Constants
        • 17.1.4. Replacing Older Functions with the subprocess Module
          • 17.1.4.1. Replacing /bin/sh shell backquote
          • 17.1.4.2. Replacing shell pipeline
          • 17.1.4.3. Replacing os.system()
          • 17.1.4.4. Replacing the os.spawn family
          • 17.1.4.5. Replacing os.popen(), os.popen2(), os.popen3()
          • 17.1.4.6. Replacing functions from the popen2 module
        • 17.1.5. Notes
          • 17.1.5.1. Converting an argument sequence to a string on Windows
      • 17.2. socket— Low-level networking interface
        • 17.2.1. Socket Objects
        • 17.2.2. Example
      • 17.3. ssl— TLS/SSL wrapper for socket objects
        • 17.3.1. Functions, Constants, and Exceptions
        • 17.3.2. SSLSocket Objects
        • 17.3.3. Certificates
        • 17.3.4. Examples
          • 17.3.4.1. Testing for SSL support
          • 17.3.4.2. Client-side operation
          • 17.3.4.3. Server-side operation
      • 17.4. signal— Set handlers for asynchronous events
        • 17.4.1. Example
      • 17.5. popen2— Subprocesses with accessible I/O streams
        • 17.5.1. Popen3 and Popen4 Objects
        • 17.5.2. Flow Control Issues
      • 17.6. asyncore— Asynchronous socket handler
        • 17.6.1. asyncore Example basic HTTP client
        • 17.6.2. asyncore Example basic echo server
      • 17.7. asynchat— Asynchronous socket command/response handler
        • 17.7.1. asynchat – Auxiliary Classes
        • 17.7.2. asynchat Example
    • 18. Internet Data Handling
      • 18.1. email— An email and MIME handling package
        • 18.1.1. email: Representing an email message
        • 18.1.2. email: Parsing email messages
          • 18.1.2.1. FeedParser API
          • 18.1.2.2. Parser class API
          • 18.1.2.3. Additional notes
        • 18.1.3. email: Generating MIME documents
        • 18.1.4. email: Creating email and MIME objects from scratch
        • 18.1.5. email: Internationalized headers
        • 18.1.6. email: Representing character sets
        • 18.1.7. email: Encoders
        • 18.1.8. email: Exception and Defect classes
        • 18.1.9. email: Miscellaneous utilities
        • 18.1.10. email: Iterators
        • 18.1.11. email: Examples
        • 18.1.12. Package History
        • 18.1.13. Differences from mimelib
      • 18.2. json— JSON encoder and decoder
        • 18.2.1. Basic Usage
        • 18.2.2. Encoders and decoders
      • 18.3. mailcap — Mailcap file handling
      • 18.4. mailbox— Manipulate mailboxes in various formats
        • 18.4.1. Mailboxobjects
          • 18.4.1.1. Maildir
          • 18.4.1.2. mbox
          • 18.4.1.3. MH
          • 18.4.1.4. Babyl
          • 18.4.1.5. MMDF
        • 18.4.2. Messageobjects
          • 18.4.2.1. MaildirMessage
          • 18.4.2.2. mboxMessage
          • 18.4.2.3. MHMessage
          • 18.4.2.4. BabylMessage
          • 18.4.2.5. MMDFMessage
        • 18.4.3. Exceptions
        • 18.4.4. Deprecated classes and methods
        • 18.4.5. Examples
      • 18.5. mhlib— Access to MH mailboxes
        • 18.5.1. MH Objects
        • 18.5.2. Folder Objects
        • 18.5.3. Message Objects
      • 18.6. mimetools— Tools for parsing MIME messages
        • 18.6.1. Additional Methods of Message Objects
      • 18.7. mimetypes— Map filenames to MIME types
        • 18.7.1. MimeTypes Objects
      • 18.8. MimeWriter— Generic MIME file writer
        • 18.8.1. MimeWriter Objects
      • 18.9. mimify — MIME processing of mail messages
      • 18.10. multifile— Support for files containing distinct parts
        • 18.10.1. MultiFile Objects
        • 18.10.2. MultiFile Example
      • 18.11. rfc822— Parse RFC 2822 mail headers
        • 18.11.1. Message Objects
        • 18.11.2. AddressList Objects
      • 18.12. base64 — RFC 3548: Base16, Base32, Base64 Data Encodings
      • 18.13. binhex— Encode and decode binhex4 files
        • 18.13.1. Notes
      • 18.14. binascii — Convert between binary and ASCII
      • 18.15. quopri — Encode and decode MIME quoted-printable data
      • 18.16. uu — Encode and decode uuencode files
    • 19. Structured Markup Processing Tools
      • 19.1. HTMLParser— Simple HTML and XHTML parser
        • 19.1.1. Example HTML Parser Application
      • 19.2. sgmllib — Simple SGML parser
      • 19.3. htmllib— A parser for HTML documents
        • 19.3.1. HTMLParser Objects
      • 19.4. htmlentitydefs — Definitions of HTML general entities
      • 19.5. xml.parsers.expat— Fast XML parsing using Expat
        • 19.5.1. XMLParser Objects
        • 19.5.2. ExpatError Exceptions
        • 19.5.3. Example
        • 19.5.4. Content Model Descriptions
        • 19.5.5. Expat error constants
      • 19.6. xml.dom— The Document Object Model API
        • 19.6.1. Module Contents
        • 19.6.2. Objects in the DOM
          • 19.6.2.1. DOMImplementation Objects
          • 19.6.2.2. Node Objects
          • 19.6.2.3. NodeList Objects
          • 19.6.2.4. DocumentType Objects
          • 19.6.2.5. Document Objects
          • 19.6.2.6. Element Objects
          • 19.6.2.7. Attr Objects
          • 19.6.2.8. NamedNodeMap Objects
          • 19.6.2.9. Comment Objects
          • 19.6.2.10. Text and CDATASection Objects
          • 19.6.2.11. ProcessingInstruction Objects
          • 19.6.2.12. Exceptions
        • 19.6.3. Conformance
          • 19.6.3.1. Type Mapping
          • 19.6.3.2. Accessor Methods
      • 19.7. xml.dom.minidom— Lightweight DOM implementation
        • 19.7.1. DOM Objects
        • 19.7.2. DOM Example
        • 19.7.3. minidom and the DOM standard
      • 19.8. xml.dom.pulldom— Support for building partial DOM trees
        • 19.8.1. DOMEventStream Objects
      • 19.9. xml.sax— Support for SAX2 parsers
        • 19.9.1. SAXException Objects
      • 19.10. xml.sax.handler— Base classes for SAX handlers
        • 19.10.1. ContentHandler Objects
        • 19.10.2. DTDHandler Objects
        • 19.10.3. EntityResolver Objects
        • 19.10.4. ErrorHandler Objects
      • 19.11. xml.sax.saxutils — SAX Utilities
      • 19.12. xml.sax.xmlreader— Interface for XML parsers
        • 19.12.1. XMLReader Objects
        • 19.12.2. IncrementalParser Objects
        • 19.12.3. Locator Objects
        • 19.12.4. InputSource Objects
        • 19.12.5. The Attributes Interface
        • 19.12.6. The AttributesNS Interface
      • 19.13. xml.etree.ElementTree— The ElementTree XML API
        • 19.13.1. Functions
        • 19.13.2. Element Objects
        • 19.13.3. ElementTree Objects
        • 19.13.4. QName Objects
        • 19.13.5. TreeBuilder Objects
        • 19.13.6. XMLParser Objects
    • 20. Internet Protocols and Support
      • 20.1. webbrowser— Convenient Web-browser controller
        • 20.1.1. Browser Controller Objects
      • 20.2. cgi— Common Gateway Interface support
        • 20.2.1. Introduction
        • 20.2.2. Using the cgi module
        • 20.2.3. Higher Level Interface
        • 20.2.4. Old classes
        • 20.2.5. Functions
        • 20.2.6. Caring about security
        • 20.2.7. Installing your CGI script on a Unix system
        • 20.2.8. Testing your CGI script
        • 20.2.9. Debugging CGI scripts
        • 20.2.10. Common problems and solutions
      • 20.3. cgitb — Traceback manager for CGI scripts
      • 20.4. wsgiref— WSGI Utilities and Reference Implementation
        • 20.4.1. wsgiref.util – WSGI environment utilities
        • 20.4.2. wsgiref.headers – WSGI response header tools
        • 20.4.3. wsgiref.simple_server – a simple WSGI HTTP server
        • 20.4.4. wsgiref.validate — WSGI conformance checker
        • 20.4.5. wsgiref.handlers – server/gateway base classes
        • 20.4.6. Examples
      • 20.5. urllib— Open arbitrary resources by URL
        • 20.5.1. High-level interface
        • 20.5.2. Utility functions
        • 20.5.3. URL Opener objects
        • 20.5.4. urllib Restrictions
        • 20.5.5. Examples
      • 20.6. urllib2— extensible library for opening URLs
        • 20.6.1. Request Objects
        • 20.6.2. OpenerDirector Objects
        • 20.6.3. BaseHandler Objects
        • 20.6.4. HTTPRedirectHandler Objects
        • 20.6.5. HTTPCookieProcessor Objects
        • 20.6.6. ProxyHandler Objects
        • 20.6.7. HTTPPasswordMgr Objects
        • 20.6.8. AbstractBasicAuthHandler Objects
        • 20.6.9. HTTPBasicAuthHandler Objects
        • 20.6.10. ProxyBasicAuthHandler Objects
        • 20.6.11. AbstractDigestAuthHandler Objects
        • 20.6.12. HTTPDigestAuthHandler Objects
        • 20.6.13. ProxyDigestAuthHandler Objects
        • 20.6.14. HTTPHandler Objects
        • 20.6.15. HTTPSHandler Objects
        • 20.6.16. FileHandler Objects
        • 20.6.17. FTPHandler Objects
        • 20.6.18. CacheFTPHandler Objects
        • 20.6.19. UnknownHandler Objects
        • 20.6.20. HTTPErrorProcessor Objects
        • 20.6.21. Examples
      • 20.7. httplib— HTTP protocol client
        • 20.7.1. HTTPConnection Objects
        • 20.7.2. HTTPResponse Objects
        • 20.7.3. Examples
      • 20.8. ftplib— FTP protocol client
        • 20.8.1. FTP Objects
        • 20.8.2. FTP_TLS Objects
      • 20.9. poplib— POP3 protocol client
        • 20.9.1. POP3 Objects
        • 20.9.2. POP3 Example
      • 20.10. imaplib— IMAP4 protocol client
        • 20.10.1. IMAP4 Objects
        • 20.10.2. IMAP4 Example
      • 20.11. nntplib— NNTP protocol client
        • 20.11.1. NNTP Objects
      • 20.12. smtplib— SMTP protocol client
        • 20.12.1. SMTP Objects
        • 20.12.2. SMTP Example
      • 20.13. smtpd— SMTP Server
        • 20.13.1. SMTPServer Objects
        • 20.13.2. DebuggingServer Objects
        • 20.13.3. PureProxy Objects
        • 20.13.4. MailmanProxy Objects
      • 20.14. telnetlib— Telnet client
        • 20.14.1. Telnet Objects
        • 20.14.2. Telnet Example
      • 20.15. uuid— UUID objects according to RFC 4122
        • 20.15.1. Example
      • 20.16. urlparse— Parse URLs into components
        • 20.16.1. Results of urlparse() and urlsplit()
      • 20.17. SocketServer— A framework for network servers
        • 20.17.1. Server Creation Notes
        • 20.17.2. Server Objects
        • 20.17.3. RequestHandler Objects
        • 20.17.4. Examples
          • 20.17.4.1. SocketServer.TCPServer Example
          • 20.17.4.2. SocketServer.UDPServer Example
          • 20.17.4.3. Asynchronous Mixins
      • 20.18. BaseHTTPServer— Basic HTTP server
        • 20.18.1. More examples
      • 20.19. SimpleHTTPServer — Simple HTTP request handler
      • 20.20. CGIHTTPServer — CGI-capable HTTP request handler
      • 20.21. cookielib— Cookie handling for HTTP clients
        • 20.21.1. CookieJar and FileCookieJar Objects
        • 20.21.2. FileCookieJar subclasses and co-operation with web browsers
        • 20.21.3. CookiePolicy Objects
        • 20.21.4. DefaultCookiePolicy Objects
        • 20.21.5. Cookie Objects
        • 20.21.6. Examples
      • 20.22. Cookie— HTTP state management
        • 20.22.1. Cookie Objects
        • 20.22.2. Morsel Objects
        • 20.22.3. Example
      • 20.23. xmlrpclib— XML-RPC client access
        • 20.23.1. ServerProxy Objects
        • 20.23.2. Boolean Objects
        • 20.23.3. DateTime Objects
        • 20.23.4. Binary Objects
        • 20.23.5. Fault Objects
        • 20.23.6. ProtocolError Objects
        • 20.23.7. MultiCall Objects
        • 20.23.8. Convenience Functions
        • 20.23.9. Example of Client Usage
        • 20.23.10. Example of Client and Server Usage
      • 20.24. SimpleXMLRPCServer— Basic XML-RPC server
        • 20.24.1. SimpleXMLRPCServer Objects
          • 20.24.1.1. SimpleXMLRPCServer Example
        • 20.24.2. CGIXMLRPCRequestHandler
      • 20.25. DocXMLRPCServer— Self-documenting XML-RPC server
        • 20.25.1. DocXMLRPCServer Objects
        • 20.25.2. DocCGIXMLRPCRequestHandler
    • 21. Multimedia Services
      • 21.1. audioop — Manipulate raw audio data
      • 21.2. imageop — Manipulate raw image data
      • 21.3. aifc — Read and write AIFF and AIFC files
      • 21.4. sunau— Read and write Sun AU files
        • 21.4.1. AU_read Objects
        • 21.4.2. AU_write Objects
      • 21.5. wave— Read and write WAV files
        • 21.5.1. Wave_read Objects
        • 21.5.2. Wave_write Objects
      • 21.6. chunk — Read IFF chunked data
      • 21.7. colorsys — Conversions between color systems
      • 21.8. imghdr — Determine the type of an image
      • 21.9. sndhdr — Determine type of sound file
      • 21.10. ossaudiodev— Access to OSS-compatible audio devices
        • 21.10.1. Audio Device Objects
        • 21.10.2. Mixer Device Objects
    • 22. Internationalization
      • 22.1. gettext— Multilingual internationalization services
        • 22.1.1. GNU gettext API
        • 22.1.2. Class-based API
          • 22.1.2.1. The NullTranslations class
          • 22.1.2.2. The GNUTranslations class
          • 22.1.2.3. Solaris message catalog support
          • 22.1.2.4. The Catalog constructor
        • 22.1.3. Internationalizing your programs and modules
          • 22.1.3.1. Localizing your module
          • 22.1.3.2. Localizing your application
          • 22.1.3.3. Changing languages on the fly
          • 22.1.3.4. Deferred translations
          • 22.1.3.5. gettext() vs. lgettext()
        • 22.1.4. Acknowledgements
      • 22.2. locale— Internationalization services
        • 22.2.1. Background, details, hints, tips and caveats
        • 22.2.2. For extension writers and programs that embed Python
        • 22.2.3. Access to message catalogs
    • 23. Program Frameworks
      • 23.1. cmd— Support for line-oriented command interpreters
        • 23.1.1. Cmd Objects
      • 23.2. shlex— Simple lexical analysis
        • 23.2.1. shlex Objects
        • 23.2.2. Parsing Rules
    • 24. Graphical User Interfaces with Tk
      • 24.1. Tkinter— Python interface to Tcl/Tk
        • 24.1.1. Tkinter Modules
        • 24.1.2. Tkinter Life Preserver
          • 24.1.2.1. How To Use This Section
          • 24.1.2.2. A Simple Hello World Program
        • 24.1.3. A (Very) Quick Look at Tcl/Tk
        • 24.1.4. Mapping Basic Tk into Tkinter
        • 24.1.5. How Tk and Tkinter are Related
        • 24.1.6. Handy Reference
          • 24.1.6.1. Setting Options
          • 24.1.6.2. The Packer
          • 24.1.6.3. Packer Options
          • 24.1.6.4. Coupling Widget Variables
          • 24.1.6.5. The Window Manager
          • 24.1.6.6. Tk Option Data Types
          • 24.1.6.7. Bindings and Events
          • 24.1.6.8. The index Parameter
          • 24.1.6.9. Images
      • 24.2. ttk— Tk themed widgets
        • 24.2.1. Using Ttk
        • 24.2.2. Ttk Widgets
        • 24.2.3. Widget
          • 24.2.3.1. Standard Options
          • 24.2.3.2. Scrollable Widget Options
          • 24.2.3.3. Label Options
          • 24.2.3.4. Compatibility Options
          • 24.2.3.5. Widget States
          • 24.2.3.6. ttk.Widget
        • 24.2.4. Combobox
          • 24.2.4.1. Options
          • 24.2.4.2. Virtual events
          • 24.2.4.3. ttk.Combobox
        • 24.2.5. Notebook
          • 24.2.5.1. Options
          • 24.2.5.2. Tab Options
          • 24.2.5.3. Tab Identifiers
          • 24.2.5.4. Virtual Events
          • 24.2.5.5. ttk.Notebook
        • 24.2.6. Progressbar
          • 24.2.6.1. Options
          • 24.2.6.2. ttk.Progressbar
        • 24.2.7. Separator
          • 24.2.7.1. Options
        • 24.2.8. Sizegrip
          • 24.2.8.1. Platform-specific notes
          • 24.2.8.2. Bugs
        • 24.2.9. Treeview
          • 24.2.9.1. Options
          • 24.2.9.2. Item Options
          • 24.2.9.3. Tag Options
          • 24.2.9.4. Column Identifiers
          • 24.2.9.5. Virtual Events
          • 24.2.9.6. ttk.Treeview
        • 24.2.10. Ttk Styling
          • 24.2.10.1. Layouts
      • 24.3. Tix— Extension widgets for Tk
        • 24.3.1. Using Tix
        • 24.3.2. Tix Widgets
          • 24.3.2.1. Basic Widgets
          • 24.3.2.2. File Selectors
          • 24.3.2.3. Hierarchical ListBox
          • 24.3.2.4. Tabular ListBox
          • 24.3.2.5. Manager Widgets
          • 24.3.2.6. Image Types
          • 24.3.2.7. Miscellaneous Widgets
          • 24.3.2.8. Form Geometry Manager
        • 24.3.3. Tix Commands
      • 24.4. ScrolledText — Scrolled Text Widget
      • 24.5. turtle— Turtle graphics for Tk
        • 24.5.1. Introduction
        • 24.5.2. Overview over available Turtle and Screen methods
          • 24.5.2.1. Turtle methods
          • 24.5.2.2. Methods of TurtleScreen/Screen
        • 24.5.3. Methods of RawTurtle/Turtle and corresponding functions
          • 24.5.3.1. Turtle motion
          • 24.5.3.2. Tell Turtle’s state
          • 24.5.3.3. Settings for measurement
          • 24.5.3.4. Pen control
            • 24.5.3.4.1. Drawing state
            • 24.5.3.4.2. Color control
            • 24.5.3.4.3. Filling
            • 24.5.3.4.4. More drawing control
          • 24.5.3.5. Turtle state
            • 24.5.3.5.1. Visibility
            • 24.5.3.5.2. Appearance
          • 24.5.3.6. Using events
          • 24.5.3.7. Special Turtle methods
          • 24.5.3.8. Excursus about the use of compound shapes
        • 24.5.4. Methods of TurtleScreen/Screen and corresponding functions
          • 24.5.4.1. Window control
          • 24.5.4.2. Animation control
          • 24.5.4.3. Using screen events
          • 24.5.4.4. Settings and special methods
          • 24.5.4.5. Methods specific to Screen, not inherited from TurtleScreen
        • 24.5.5. The public classes of the module turtle
        • 24.5.6. Help and configuration
          • 24.5.6.1. How to use help
          • 24.5.6.2. Translation of docstrings into different languages
          • 24.5.6.3. How to configure Screen and Turtles
        • 24.5.7. Demo scripts
      • 24.6. IDLE
        • 24.6.1. Menus
          • 24.6.1.1. File menu
          • 24.6.1.2. Edit menu
          • 24.6.1.3. Windows menu
          • 24.6.1.4. Debug menu (in the Python Shell window only)
        • 24.6.2. Basic editing and navigation
          • 24.6.2.1. Automatic indentation
          • 24.6.2.2. Python Shell window
        • 24.6.3. Syntax colors
        • 24.6.4. Startup
          • 24.6.4.1. Command line usage
      • 24.7. Other Graphical User Interface Packages
    • 25. Development Tools
      • 25.1. pydoc — Documentation generator and online help system
      • 25.2. doctest— Test interactive Python examples
        • 25.2.1. Simple Usage: Checking Examples in Docstrings
        • 25.2.2. Simple Usage: Checking Examples in a Text File
        • 25.2.3. How It Works
          • 25.2.3.1. Which Docstrings Are Examined?
          • 25.2.3.2. How are Docstring Examples Recognized?
          • 25.2.3.3. What’s the Execution Context?
          • 25.2.3.4. What About Exceptions?
          • 25.2.3.5. Option Flags and Directives
          • 25.2.3.6. Warnings
        • 25.2.4. Basic API
        • 25.2.5. Unittest API
        • 25.2.6. Advanced API
          • 25.2.6.1. DocTest Objects
          • 25.2.6.2. Example Objects
          • 25.2.6.3. DocTestFinder objects
          • 25.2.6.4. DocTestParser objects
          • 25.2.6.5. DocTestRunner objects
          • 25.2.6.6. OutputChecker objects
        • 25.2.7. Debugging
        • 25.2.8. Soapbox
      • 25.3. unittest— Unit testing framework
        • 25.3.1. Basic example
        • 25.3.2. Command-Line Interface
          • 25.3.2.1. Command-line options
        • 25.3.3. Test Discovery
        • 25.3.4. Organizing test code
        • 25.3.5. Re-using old test code
        • 25.3.6. Skipping tests and expected failures
        • 25.3.7. Classes and functions
          • 25.3.7.1. Test cases
            • 25.3.7.1.1. Deprecated aliases
          • 25.3.7.2. Grouping tests
          • 25.3.7.3. Loading and running tests
            • 25.3.7.3.1. load_tests Protocol
        • 25.3.8. Class and Module Fixtures
          • 25.3.8.1. setUpClass and tearDownClass
          • 25.3.8.2. setUpModule and tearDownModule
        • 25.3.9. Signal Handling
      • 25.4. 2to3 – Automated Python 2 to 3 code translation
        • 25.4.1. Using 2to3
        • 25.4.2. Fixers
        • 25.4.3. lib2to3 – 2to3’s library
      • 25.5. test— Regression tests package for Python
        • 25.5.1. Writing Unit Tests for the test package
        • 25.5.2. Running tests using the command-line interface
      • 25.6. test.test_support — Utility functions for tests
    • 26. Debugging and Profiling
      • 26.1. bdb — Debugger framework
      • 26.2. pdb — The Python Debugger
      • 26.3. Debugger Commands
      • 26.4. The Python Profilers
        • 26.4.1. Introduction to the profilers
        • 26.4.2. Instant User’s Manual
        • 26.4.3. What Is Deterministic Profiling?
        • 26.4.4. Reference Manual – profile and cProfile
          • 26.4.4.1. The Stats Class
        • 26.4.5. Limitations
        • 26.4.6. Calibration
        • 26.4.7. Extensions — Deriving Better Profilers
      • 26.5. hotshot— High performance logging profiler
        • 26.5.1. Profile Objects
        • 26.5.2. Using hotshot data
        • 26.5.3. Example Usage
      • 26.6. timeit— Measure execution time of small code snippets
        • 26.6.1. Command Line Interface
        • 26.6.2. Examples
      • 26.7. trace— Trace or track Python statement execution
        • 26.7.1. Command-Line Usage
          • 26.7.1.1. Main options
          • 26.7.1.2. Modifiers
          • 26.7.1.3. Filters
        • 26.7.2. Programmatic Interface
    • 27. Python Runtime Services
      • 27.1. sys — System-specific parameters and functions
      • 27.2. sysconfig— Provide access to Python’s configuration information
        • 27.2.1. Configuration variables
        • 27.2.2. Installation paths
        • 27.2.3. Other functions
      • 27.3. __builtin__ — Built-in objects
      • 27.4. future_builtins — Python 3 builtins
      • 27.5. __main__ — Top-level script environment
      • 27.6. warnings— Warning control
        • 27.6.1. Warning Categories
        • 27.6.2. The Warnings Filter
          • 27.6.2.1. Default Warning Filters
        • 27.6.3. Temporarily Suppressing Warnings
        • 27.6.4. Testing Warnings
        • 27.6.5. Updating Code For New Versions of Python
        • 27.6.6. Available Functions
        • 27.6.7. Available Context Managers
      • 27.7. contextlib — Utilities for with-statement contexts
      • 27.8. abc — Abstract Base Classes
      • 27.9. atexit— Exit handlers
        • 27.9.1. atexit Example
      • 27.10. traceback— Print or retrieve a stack traceback
        • 27.10.1. Traceback Examples
      • 27.11. __future__ — Future statement definitions
      • 27.12. gc — Garbage Collector interface
      • 27.13. inspect— Inspect live objects
        • 27.13.1. Types and members
        • 27.13.2. Retrieving source code
        • 27.13.3. Classes and functions
        • 27.13.4. The interpreter stack
      • 27.14. site — Site-specific configuration hook
      • 27.15. user — User-specific configuration hook
      • 27.16. fpectl— Floating point exception control
        • 27.16.1. Example
        • 27.16.2. Limitations and other considerations
      • 27.17. distutils — Building and installing Python modules
    • 28. Custom Python Interpreters
      • 28.1. code— Interpreter base classes
        • 28.1.1. Interactive Interpreter Objects
        • 28.1.2. Interactive Console Objects
      • 28.2. codeop — Compile Python code
    • 29. Restricted Execution
      • 29.1. rexec— Restricted execution framework
        • 29.1.1. RExec Objects
        • 29.1.2. Defining restricted environments
        • 29.1.3. An example
      • 29.2. Bastion — Restricting access to objects
    • 30. Importing Modules
      • 30.1. imp — Access the importinternals
        • 30.1.1. Examples
      • 30.2. importlib – Convenience wrappers for __import__()
      • 30.3. imputil— Import utilities
        • 30.3.1. Examples
      • 30.4. zipimport— Import modules from Zip archives
        • 30.4.1. zipimporter Objects
        • 30.4.2. Examples
      • 30.5. pkgutil — Package extension utility
      • 30.6. modulefinder— Find modules used by a script
        • 30.6.1. Example usage of ModuleFinder
      • 30.7. runpy — Locating and executing Python modules
    • 31. Python Language Services
      • 31.1. parser— Access Python parse trees
        • 31.1.1. Creating ST Objects
        • 31.1.2. Converting ST Objects
        • 31.1.3. Queries on ST Objects
        • 31.1.4. Exceptions and Error Handling
        • 31.1.5. ST Objects
        • 31.1.6. Example: Emulation of compile()
      • 31.2. ast— Abstract Syntax Trees
        • 31.2.1. Node classes
        • 31.2.2. Abstract Grammar
        • 31.2.3. ast Helpers
      • 31.3. symtable— Access to the compiler’s symbol tables
        • 31.3.1. Generating Symbol Tables
        • 31.3.2. Examining Symbol Tables
      • 31.4. symbol — Constants used with Python parse trees
      • 31.5. token — Constants used with Python parse trees
      • 31.6. keyword — Testing for Python keywords
      • 31.7. tokenize — Tokenizer for Python source
      • 31.8. tabnanny — Detection of ambiguous indentation
      • 31.9. pyclbr— Python class browser support
        • 31.9.1. Class Objects
        • 31.9.2. Function Objects
      • 31.10. py_compile — Compile Python source files
      • 31.11. compileall— Byte-compile Python libraries
        • 31.11.1. Command-line use
        • 31.11.2. Public functions
      • 31.12. dis— Disassembler for Python bytecode
        • 31.12.1. Python Bytecode Instructions
      • 31.13. pickletools — Tools for pickle developers
    • 32. Python compiler package
      • 32.1. The basic interface
      • 32.2. Limitations
      • 32.3. Python Abstract Syntax
        • 32.3.1. AST Nodes
        • 32.3.2. Assignment nodes
        • 32.3.3. Examples
      • 32.4. Using Visitors to Walk ASTs
      • 32.5. Bytecode Generation
    • 33. Miscellaneous Services
      • 33.1. formatter— Generic output formatting
        • 33.1.1. The Formatter Interface
        • 33.1.2. Formatter Implementations
        • 33.1.3. The Writer Interface
        • 33.1.4. Writer Implementations
    • 34. MS Windows Specific Services
      • 34.1. msilib— Read and write Microsoft Installer files
        • 34.1.1. Database Objects
        • 34.1.2. View Objects
        • 34.1.3. Summary Information Objects
        • 34.1.4. Record Objects
        • 34.1.5. Errors
        • 34.1.6. CAB Objects
        • 34.1.7. Directory Objects
        • 34.1.8. Features
        • 34.1.9. GUI classes
        • 34.1.10. Precomputed tables
      • 34.2. msvcrt– Useful routines from the MS VC++ runtime
        • 34.2.1. File Operations
        • 34.2.2. Console I/O
        • 34.2.3. Other Functions
      • 34.3. _winreg– Windows registry access
        • 34.3.1. Constants
          • 34.3.1.1. HKEY_* Constants
          • 34.3.1.2. Access Rights
            • 34.3.1.2.1. 64-bit Specific
          • 34.3.1.3. Value Types
        • 34.3.2. Registry Handle Objects
      • 34.4. winsound — Sound-playing interface for Windows
    • 35. Unix Specific Services
      • 35.1. posix— The most common POSIX system calls
        • 35.1.1. Large File Support
        • 35.1.2. Notable Module Contents
      • 35.2. pwd — The password database
      • 35.3. spwd — The shadow password database
      • 35.4. grp — The group database
      • 35.5. crypt — Function to check Unix passwords
      • 35.6. dl— Call C functions in shared objects
        • 35.6.1. Dl Objects
      • 35.7. termios— POSIX style tty control
        • 35.7.1. Example
      • 35.8. tty — Terminal control functions
      • 35.9. pty — Pseudo-terminal utilities
      • 35.10. fcntl — The fcntl() and ioctl() system calls
      • 35.11. pipes— Interface to shell pipelines
        • 35.11.1. Template Objects
      • 35.12. posixfile — File-like objects with locking support
      • 35.13. resource— Resource usage information
        • 35.13.1. Resource Limits
        • 35.13.2. Resource Usage
      • 35.14. nis — Interface to Sun’s NIS (Yellow Pages)
      • 35.15. syslog— Unix syslog library routines
        • 35.15.1. Examples
          • 35.15.1.1. Simple example
      • 35.16. commands — Utilities for running commands
    • 36. Mac OS X specific services
      • 36.1. ic— Access to the Mac OS X Internet Config
        • 36.1.1. IC Objects
      • 36.2. MacOS — Access to Mac OS interpreter features
      • 36.3. macostools — Convenience routines for file manipulation
      • 36.4. findertools — The finder‘s Apple Events interface
      • 36.5. EasyDialogs— Basic Macintosh dialogs
        • 36.5.1. ProgressBar Objects
      • 36.6. FrameWork— Interactive application framework
        • 36.6.1. Application Objects
        • 36.6.2. Window Objects
        • 36.6.3. ControlsWindow Object
        • 36.6.4. ScrolledWindow Object
        • 36.6.5. DialogWindow Objects
      • 36.7. autoGIL — Global Interpreter Lock handling in event loops
      • 36.8. Mac OS Toolbox Modules
        • 36.8.1. Carbon.AE — Apple Events
        • 36.8.2. Carbon.AH — Apple Help
        • 36.8.3. Carbon.App — Appearance Manager
        • 36.8.4. Carbon.Appearance — Appearance Manager constants
        • 36.8.5. Carbon.CF — Core Foundation
        • 36.8.6. Carbon.CG — Core Graphics
        • 36.8.7. Carbon.CarbonEvt — Carbon Event Manager
        • 36.8.8. Carbon.CarbonEvents — Carbon Event Manager constants
        • 36.8.9. Carbon.Cm — Component Manager
        • 36.8.10. Carbon.Components — Component Manager constants
        • 36.8.11. Carbon.ControlAccessor — Control Manager accssors
        • 36.8.12. Carbon.Controls — Control Manager constants
        • 36.8.13. Carbon.CoreFounation — CoreFounation constants
        • 36.8.14. Carbon.CoreGraphics — CoreGraphics constants
        • 36.8.15. Carbon.Ctl — Control Manager
        • 36.8.16. Carbon.Dialogs — Dialog Manager constants
        • 36.8.17. Carbon.Dlg — Dialog Manager
        • 36.8.18. Carbon.Drag — Drag and Drop Manager
        • 36.8.19. Carbon.Dragconst — Drag and Drop Manager constants
        • 36.8.20. Carbon.Events — Event Manager constants
        • 36.8.21. Carbon.Evt — Event Manager
        • 36.8.22. Carbon.File — File Manager
        • 36.8.23. Carbon.Files — File Manager constants
        • 36.8.24. Carbon.Fm — Font Manager
        • 36.8.25. Carbon.Folder — Folder Manager
        • 36.8.26. Carbon.Folders — Folder Manager constants
        • 36.8.27. Carbon.Fonts — Font Manager constants
        • 36.8.28. Carbon.Help — Help Manager
        • 36.8.29. Carbon.IBCarbon — Carbon InterfaceBuilder
        • 36.8.30. Carbon.IBCarbonRuntime — Carbon InterfaceBuilder constants
        • 36.8.31. Carbon.Icn — Carbon Icon Manager
        • 36.8.32. Carbon.Icons — Carbon Icon Manager constants
        • 36.8.33. Carbon.Launch — Carbon Launch Services
        • 36.8.34. Carbon.LaunchServices — Carbon Launch Services constants
        • 36.8.35. Carbon.List — List Manager
        • 36.8.36. Carbon.Lists — List Manager constants
        • 36.8.37. Carbon.MacHelp — Help Manager constants
        • 36.8.38. Carbon.MediaDescr — Parsers and generators for Quicktime Media descriptors
        • 36.8.39. Carbon.Menu — Menu Manager
        • 36.8.40. Carbon.Menus — Menu Manager constants
        • 36.8.41. Carbon.Mlte — MultiLingual Text Editor
        • 36.8.42. Carbon.OSA — Carbon OSA Interface
        • 36.8.43. Carbon.OSAconst — Carbon OSA Interface constants
        • 36.8.44. Carbon.QDOffscreen — QuickDraw Offscreen constants
        • 36.8.45. Carbon.Qd — QuickDraw
        • 36.8.46. Carbon.Qdoffs — QuickDraw Offscreen
        • 36.8.47. Carbon.Qt — QuickTime
        • 36.8.48. Carbon.QuickDraw — QuickDraw constants
        • 36.8.49. Carbon.QuickTime — QuickTime constants
        • 36.8.50. Carbon.Res — Resource Manager and Handles
        • 36.8.51. Carbon.Resources — Resource Manager and Handles constants
        • 36.8.52. Carbon.Scrap — Scrap Manager
        • 36.8.53. Carbon.Snd — Sound Manager
        • 36.8.54. Carbon.Sound — Sound Manager constants
        • 36.8.55. Carbon.TE — TextEdit
        • 36.8.56. Carbon.TextEdit — TextEdit constants
        • 36.8.57. Carbon.Win — Window Manager
        • 36.8.58. Carbon.Windows — Window Manager constants
      • 36.9. ColorPicker — Color selection dialog
    • 37. MacPython OSA Modules
      • 37.1. gensuitemodule — Generate OSA stub packages
      • 37.2. aetools — OSA client support
      • 37.3. aepack — Conversion between Python variables and AppleEvent data containers
      • 37.4. aetypes — AppleEvent objects
      • 37.5. MiniAEFrame— Open Scripting Architecture server support
        • 37.5.1. AEServer Objects
    • 38. SGI IRIX Specific Services
      • 38.1. al— Audio functions on the SGI
        • 38.1.1. Configuration Objects
        • 38.1.2. Port Objects
      • 38.2. AL — Constants used with the al module
      • 38.3. cd— CD-ROM access on SGI systems
        • 38.3.1. Player Objects
        • 38.3.2. Parser Objects
      • 38.4. fl— FORMS library for graphical user interfaces
        • 38.4.1. Functions Defined in Module fl
        • 38.4.2. Form Objects
        • 38.4.3. FORMS Objects
      • 38.5. FL — Constants used with the fl module
      • 38.6. flp — Functions for loading stored FORMS designs
      • 38.7. fmFont Manager interface
      • 38.8. glGraphics Library interface
      • 38.9. DEVICE — Constants used with the gl module
      • 38.10. GL — Constants used with the gl module
      • 38.11. imgfile — Support for SGI imglib files
      • 38.12. jpeg — Read and write JPEG files
    • 39. SunOS Specific Services
      • 39.1. sunaudiodev— Access to Sun audio hardware
        • 39.1.1. Audio Device Objects
      • 39.2. SUNAUDIODEV — Constants used with sunaudiodev
    • 40. Undocumented Modules
      • 40.1. Miscellaneous useful utilities
      • 40.2. Platform specific modules
      • 40.3. Multimedia
      • 40.4. Undocumented Mac OS modules
        • 40.4.1. applesingle — AppleSingle decoder
        • 40.4.2. buildtools — Helper module for BuildApplet and Friends
        • 40.4.3. cfmfile — Code Fragment Resource module
        • 40.4.4. icopen — Internet Config replacement for open()
        • 40.4.5. macerrors — Mac OS Errors
        • 40.4.6. macresource — Locate script resources
        • 40.4.7. Nav — NavServices calls
        • 40.4.8. PixMapWrapper — Wrapper for PixMap objects
        • 40.4.9. videoreader — Read QuickTime movies
        • 40.4.10. W — Widgets built on FrameWork
      • 40.5. Obsolete
      • 40.6. SGI-specific Extension modules
  • Extending and Embedding the Python Interpreter
    • 1. Extending Python with C or C++
      • 1.1. A Simple Example
      • 1.2. Intermezzo: Errors and Exceptions
      • 1.3. Back to the Example
      • 1.4. The Module’s Method Table and Initialization Function
      • 1.5. Compilation and Linkage
      • 1.6. Calling Python Functions from C
      • 1.7. Extracting Parameters in Extension Functions
      • 1.8. Keyword Parameters for Extension Functions
      • 1.9. Building Arbitrary Values
      • 1.10. Reference Counts
        • 1.10.1. Reference Counting in Python
        • 1.10.2. Ownership Rules
        • 1.10.3. Thin Ice
        • 1.10.4. NULL Pointers
      • 1.11. Writing Extensions in C++
      • 1.12. Providing a C API for an Extension Module
    • 2. Defining New Types
      • 2.1. The Basics
        • 2.1.1. Adding data and methods to the Basic example
        • 2.1.2. Providing finer control over data attributes
        • 2.1.3. Supporting cyclic garbage collection
        • 2.1.4. Subclassing other types
      • 2.2. Type Methods
        • 2.2.1. Finalization and De-allocation
        • 2.2.2. Object Presentation
        • 2.2.3. Attribute Management
          • 2.2.3.1. Generic Attribute Management
          • 2.2.3.2. Type-specific Attribute Management
        • 2.2.4. Object Comparison
        • 2.2.5. Abstract Protocol Support
        • 2.2.6. Weak Reference Support
        • 2.2.7. More Suggestions
    • 3. Building C and C++ Extensions with distutils
      • 3.1. Distributing your extension modules
    • 4. Building C and C++ Extensions on Windows
      • 4.1. A Cookbook Approach
      • 4.2. Differences Between Unix and Windows
      • 4.3. Using DLLs in Practice
    • 5. Embedding Python in Another Application
      • 5.1. Very High Level Embedding
      • 5.2. Beyond Very High Level Embedding: An overview
      • 5.3. Pure Embedding
      • 5.4. Extending Embedded Python
      • 5.5. Embedding Python in C++
      • 5.6. Linking Requirements
  • Python/C API Reference Manual
    • Introduction
      • Include Files
      • Objects, Types and Reference Counts
        • Reference Counts
          • Reference Count Details
        • Types
      • Exceptions
      • Embedding Python
      • Debugging Builds
    • The Very High Level Layer
    • Reference Counting
    • Exception Handling
      • Unicode Exception Objects
      • Recursion Control
      • Standard Exceptions
      • String Exceptions
    • Utilities
      • Operating System Utilities
      • System Functions
      • Process Control
      • Importing Modules
      • Data marshalling support
      • Parsing arguments and building values
      • String conversion and formatting
      • Reflection
      • Codec registry and support functions
        • Codec lookup API
        • Registry API for Unicode encoding error handlers
    • Abstract Objects Layer
      • Object Protocol
      • Number Protocol
      • Sequence Protocol
      • Mapping Protocol
      • Iterator Protocol
      • Old Buffer Protocol
    • Concrete Objects Layer
      • Fundamental Objects
        • Type Objects
        • The None Object
      • Numeric Objects
        • Plain Integer Objects
        • Boolean Objects
        • Long Integer Objects
        • Floating Point Objects
        • Complex Number Objects
          • Complex Numbers as C Structures
          • Complex Numbers as Python Objects
      • Sequence Objects
        • Byte Array Objects
          • Type check macros
          • Direct API functions
          • Macros
        • String/Bytes Objects
        • Unicode Objects and Codecs
          • Unicode Objects
            • Unicode Type
            • Unicode Character Properties
            • Plain Py_UNICODE
            • wchar_t Support
          • Built-in Codecs
            • Generic Codecs
            • UTF-8 Codecs
            • UTF-32 Codecs
            • UTF-16 Codecs
            • UTF-7 Codecs
            • Unicode-Escape Codecs
            • Raw-Unicode-Escape Codecs
            • Latin-1 Codecs
            • ASCII Codecs
            • Character Map Codecs
            • MBCS codecs for Windows
            • Methods & Slots
          • Methods and Slot Functions
        • Buffers and Memoryview Objects
          • The new-style Py_buffer struct
          • Buffer related functions
          • MemoryView objects
          • Old-style buffer objects
        • Tuple Objects
        • List Objects
      • Mapping Objects
        • Dictionary Objects
      • Other Objects
        • Class and Instance Objects
        • Function Objects
        • Method Objects
        • File Objects
        • Module Objects
        • Iterator Objects
        • Descriptor Objects
        • Slice Objects
        • Weak Reference Objects
        • Capsules
        • CObjects
        • Cell Objects
        • Generator Objects
        • DateTime Objects
        • Set Objects
        • Code Objects
    • Initialization, Finalization, and Threads
      • Initializing and finalizing the interpreter
      • Process-wide parameters
      • Thread State and the Global Interpreter Lock
        • Releasing the GIL from extension code
        • Non-Python created threads
        • High-level API
        • Low-level API
      • Sub-interpreter support
        • Bugs and caveats
      • Asynchronous Notifications
      • Profiling and Tracing
      • Advanced Debugger Support
    • Memory Management
      • Overview
      • Memory Interface
      • Examples
    • Object Implementation Support
      • Allocating Objects on the Heap
      • Common Object Structures
      • Type Objects
      • Number Object Structures
      • Mapping Object Structures
      • Sequence Object Structures
      • Buffer Object Structures
      • Supporting Cyclic Garbage Collection
  • Distributing Python Modules
    • 1. An Introduction to Distutils
      • 1.1. Concepts & Terminology
      • 1.2. A Simple Example
      • 1.3. General Python terminology
      • 1.4. Distutils-specific terminology
    • 2. Writing the Setup Script
      • 2.1. Listing whole packages
      • 2.2. Listing individual modules
      • 2.3. Describing extension modules
        • 2.3.1. Extension names and packages
        • 2.3.2. Extension source files
        • 2.3.3. Preprocessor options
        • 2.3.4. Library options
        • 2.3.5. Other options
      • 2.4. Relationships between Distributions and Packages
      • 2.5. Installing Scripts
      • 2.6. Installing Package Data
      • 2.7. Installing Additional Files
      • 2.8. Additional meta-data
      • 2.9. Debugging the setup script
    • 3. Writing the Setup Configuration File
    • 4. Creating a Source Distribution
      • 4.1. Specifying the files to distribute
      • 4.2. Manifest-related options
      • 4.3. The MANIFEST.in template
        • 4.3.1. Principle
        • 4.3.2. Commands
    • 5. Creating Built Distributions
      • 5.1. Creating dumb built distributions
      • 5.2. Creating RPM packages
      • 5.3. Creating Windows Installers
      • 5.4. Cross-compiling on Windows
        • 5.4.1. The Postinstallation script
      • 5.5. Vista User Access Control (UAC)
    • 6. Registering with the Package Index
      • 6.1. The .pypirc file
    • 7. Uploading Packages to the Package Index
      • 7.1. PyPI package display
    • 8. Examples
      • 8.1. Pure Python distribution (by module)
      • 8.2. Pure Python distribution (by package)
      • 8.3. Single extension module
    • 9. Extending Distutils
      • 9.1. Integrating new commands
      • 9.2. Adding new distribution types
    • 10. Command Reference
      • 10.1. Installing modules: the installcommand family
        • 10.1.1. install_data
        • 10.1.2. install_scripts
    • 11. API Reference
      • 11.1. distutils.core — Core Distutils functionality
      • 11.2. distutils.ccompiler — CCompiler base class
      • 11.3. distutils.unixccompiler — Unix C Compiler
      • 11.4. distutils.msvccompiler — Microsoft Compiler
      • 11.5. distutils.bcppcompiler — Borland Compiler
      • 11.6. distutils.cygwincompiler — Cygwin Compiler
      • 11.7. distutils.emxccompiler — OS/2 EMX Compiler
      • 11.8. distutils.archive_util — Archiving utilities
      • 11.9. distutils.dep_util — Dependency checking
      • 11.10. distutils.dir_util — Directory tree operations
      • 11.11. distutils.file_util — Single file operations
      • 11.12. distutils.util — Miscellaneous other utility functions
      • 11.13. distutils.dist — The Distribution class
      • 11.14. distutils.extension — The Extension class
      • 11.15. distutils.debug — Distutils debug mode
      • 11.16. distutils.errors — Distutils exceptions
      • 11.17. distutils.fancy_getopt — Wrapper around the standard getopt module
      • 11.18. distutils.filelist — The FileList class
      • 11.19. distutils.log — Simple PEP 282-style logging
      • 11.20. distutils.spawn — Spawn a sub-process
      • 11.21. distutils.sysconfig — System configuration information
      • 11.22. distutils.text_file — The TextFile class
      • 11.23. distutils.version — Version number classes
      • 11.24. distutils.cmd — Abstract base class for Distutils commands
      • 11.25. Creating a new Distutils command
      • 11.26. distutils.command — Individual Distutils commands
      • 11.27. distutils.command.bdist — Build a binary installer
      • 11.28. distutils.command.bdist_packager — Abstract base class for packagers
      • 11.29. distutils.command.bdist_dumb — Build a “dumb” installer
      • 11.30. distutils.command.bdist_msi — Build a Microsoft Installer binary package
      • 11.31. distutils.command.bdist_rpm — Build a binary distribution as a Redhat RPM and SRPM
      • 11.32. distutils.command.bdist_wininst — Build a Windows installer
      • 11.33. distutils.command.sdist — Build a source distribution
      • 11.34. distutils.command.build — Build all files of a package
      • 11.35. distutils.command.build_clib — Build any C libraries in a package
      • 11.36. distutils.command.build_ext — Build any extensions in a package
      • 11.37. distutils.command.build_py — Build the .py/.pyc files of a package
      • 11.38. distutils.command.build_scripts — Build the scripts of a package
      • 11.39. distutils.command.clean — Clean a package build area
      • 11.40. distutils.command.config — Perform package configuration
      • 11.41. distutils.command.install — Install a package
      • 11.42. distutils.command.install_data — Install data files from a package
      • 11.43. distutils.command.install_headers — Install C/C++ header files from a package
      • 11.44. distutils.command.install_lib — Install library files from a package
      • 11.45. distutils.command.install_scripts — Install script files from a package
      • 11.46. distutils.command.register — Register a module with the Python Package Index
      • 11.47. distutils.command.check — Check the meta-data of a package
  • Installing Python Modules
    • Introduction
      • Best case: trivial installation
      • The new standard: Distutils
    • Standard Build and Install
      • Platform variations
      • Splitting the job up
      • How building works
      • How installation works
    • Alternate Installation
      • Alternate installation: the user scheme
      • Alternate installation: the home scheme
      • Alternate installation: Unix (the prefix scheme)
      • Alternate installation: Windows (the prefix scheme)
    • Custom Installation
      • Modifying Python’s Search Path
    • Distutils Configuration Files
      • Location and names of config files
      • Syntax of config files
    • Building Extensions: Tips and Tricks
      • Tweaking compiler/linker flags
      • Using non-Microsoft compilers on Windows
        • Borland/CodeGear C++
        • GNU C / Cygwin / MinGW
          • Older Versions of Python and MinGW
  • Documenting Python
    • 1. Introduction
    • 2. Style Guide
      • 2.1. Affirmative Tone
      • 2.2. Economy of Expression
      • 2.3. Code Examples
      • 2.4. Code Equivalents
      • 2.5. Audience
    • 3. reStructuredText Primer
      • 3.1. Paragraphs
      • 3.2. Inline markup
      • 3.3. Lists and Quotes
      • 3.4. Source Code
      • 3.5. Hyperlinks
        • 3.5.1. External links
        • 3.5.2. Internal links
      • 3.6. Sections
      • 3.7. Explicit Markup
      • 3.8. Directives
      • 3.9. Footnotes
      • 3.10. Comments
      • 3.11. Source encoding
      • 3.12. Gotchas
    • 4. Additional Markup Constructs
      • 4.1. Meta-information markup
      • 4.2. Module-specific markup
      • 4.3. Information units
      • 4.4. Showing code examples
      • 4.5. Inline markup
      • 4.6. Cross-linking markup
      • 4.7. Paragraph-level markup
      • 4.8. Table-of-contents markup
      • 4.9. Index-generating markup
      • 4.10. Grammar production displays
      • 4.11. Substitutions
    • 5. Differences to the LaTeX markup
      • 5.1. Inline markup
      • 5.2. Information units
      • 5.3. Structure
    • 6. Building the documentation
      • 6.1. Using make
      • 6.2. Without make
  • Python HOWTOs
    • Python Advocacy HOWTO
      • Reasons to Use Python
        • Programmability
        • Prototyping
        • Simplicity and Ease of Understanding
        • Java Integration
      • Arguments and Rebuttals
      • Useful Resources
    • Porting Python 2 Code to Python 3
      • Choosing a Strategy
        • Universal Bits of Advice
      • Python 3 and 3to2
      • Python 2 and 2to3
        • Support Python 2.7
        • Try to Support Python 2.6 and Newer Only
          • from __future__ import print_function
          • from __future__ import unicode_literals
          • Bytes literals
        • Supporting Python 2.5 and Newer Only
          • from __future__ import absolute_import
        • Handle Common “Gotchas”
          • from __future__ import division
          • Specify when opening a file as binary
          • Text files
          • Subclass object
          • Deal With the Bytes/String Dichotomy
            • Mark Up Python 2 String Literals
            • Decide what APIs Will Accept
            • Bytes / Unicode Comparison
          • Indexing bytes objects
          • __str__()/__unicode__()
          • Don’t Index on Exceptions
          • Don’t use __getslice__ & Friends
          • Updating doctests
        • Eliminate -3 Warnings
        • Run 2to3
          • Manually
          • During Installation
        • Verify & Test
      • Python 2/3 Compatible Source
        • Follow The Steps for Using 2to3
        • Use six
        • Capturing the Currently Raised Exception
      • Other Resources
    • Porting Extension Modules to 3.0
      • Conditional compilation
      • Changes to Object APIs
        • str/unicode Unification
        • long/int Unification
      • Module initialization and state
      • Other options
    • Curses Programming with Python
      • What is curses?
        • The Python curses module
      • Starting and ending a curses application
      • Windows and Pads
      • Displaying Text
        • Attributes and Color
      • User Input
      • For More Information
    • Descriptor HowTo Guide
      • Abstract
      • Definition and Introduction
      • Descriptor Protocol
      • Invoking Descriptors
      • Descriptor Example
      • Properties
      • Functions and Methods
      • Static Methods and Class Methods
    • Idioms and Anti-Idioms in Python
      • Language Constructs You Should Not Use
        • from module import *
          • Inside Function Definitions
          • At Module Level
          • When It Is Just Fine
        • Unadorned exec, execfile() and friends
        • from module import name1, name2
        • except:
      • Exceptions
      • Using the Batteries
      • Using Backslash to Continue Statements
    • Functional Programming HOWTO
      • Introduction
        • Formal provability
        • Modularity
        • Ease of debugging and testing
        • Composability
      • Iterators
        • Data Types That Support Iterators
      • Generator expressions and list comprehensions
      • Generators
        • Passing values into a generator
      • Built-in functions
      • Small functions and the lambda expression
      • The itertools module
        • Creating new iterators
        • Calling functions on elements
        • Selecting elements
        • Grouping elements
      • The functools module
        • The operator module
        • The functional module
      • Revision History and Acknowledgements
      • References
        • General
        • Python-specific
        • Python documentation
    • Logging HOWTO
      • Basic Logging Tutorial
        • When to use logging
        • A simple example
        • Logging to a file
        • Logging from multiple modules
        • Logging variable data
        • Changing the format of displayed messages
        • Displaying the date/time in messages
        • Next Steps
      • Advanced Logging Tutorial
        • Loggers
        • Handlers
        • Formatters
        • Configuring Logging
        • What happens if no configuration is provided
        • Configuring Logging for a Library
      • Logging Levels
        • Custom Levels
      • Useful Handlers
      • Exceptions raised during logging
      • Using arbitrary objects as messages
      • Optimization
    • Logging Cookbook
      • Using logging in multiple modules
      • Multiple handlers and formatters
      • Logging to multiple destinations
      • Configuration server example
      • Sending and receiving logging events across a network
      • Adding contextual information to your logging output
        • Using LoggerAdapters to impart contextual information
        • Using Filters to impart contextual information
      • Logging to a single file from multiple processes
      • Using file rotation
    • Regular Expression HOWTO
      • Introduction
      • Simple Patterns
        • Matching Characters
        • Repeating Things
      • Using Regular Expressions
        • Compiling Regular Expressions
        • The Backslash Plague
        • Performing Matches
        • Module-Level Functions
        • Compilation Flags
      • More Pattern Power
        • More Metacharacters
        • Grouping
        • Non-capturing and Named Groups
        • Lookahead Assertions
      • Modifying Strings
        • Splitting Strings
        • Search and Replace
      • Common Problems
        • Use String Methods
        • match() versus search()
        • Greedy versus Non-Greedy
        • Using re.VERBOSE
      • Feedback
    • Socket Programming HOWTO
      • Sockets
        • History
      • Creating a Socket
        • IPC
      • Using a Socket
        • Binary Data
      • Disconnecting
        • When Sockets Die
      • Non-blocking Sockets
        • Performance
    • Sorting HOW TO
      • Sorting Basics
      • Key Functions
      • Operator Module Functions
      • Ascending and Descending
      • Sort Stability and Complex Sorts
      • The Old Way Using Decorate-Sort-Undecorate
      • The Old Way Using the cmp Parameter
      • Odd and Ends
    • Unicode HOWTO
      • Introduction to Unicode
        • History of Character Codes
        • Definitions
        • Encodings
        • References
      • Python 2.x’s Unicode Support
        • The Unicode Type
        • Unicode Literals in Python Source Code
        • Unicode Properties
        • References
      • Reading and Writing Unicode Data
        • Unicode filenames
        • Tips for Writing Unicode-aware Programs
        • References
      • Revision History and Acknowledgements
    • HOWTO Fetch Internet Resources Using urllib2
      • Introduction
      • Fetching URLs
        • Data
        • Headers
      • Handling Exceptions
        • URLError
        • HTTPError
          • Error Codes
        • Wrapping it Up
          • Number 1
          • Number 2
      • info and geturl
      • Openers and Handlers
      • Basic Authentication
      • Proxies
      • Sockets and Layers
      • Footnotes
    • HOWTO Use Python in the web
      • The Low-Level View
        • Common Gateway Interface
          • Simple script for testing CGI
          • Setting up CGI on your own server
          • Common problems with CGI scripts
        • mod_python
        • FastCGI and SCGI
          • Setting up FastCGI
        • mod_wsgi
      • Step back: WSGI
        • WSGI Servers
        • Case study: MoinMoin
      • Model-View-Controller
      • Ingredients for Websites
        • Templates
        • Data persistence
      • Frameworks
        • Some notable frameworks
          • Django
          • TurboGears
          • Zope
          • Other notable frameworks
  • Python Frequently Asked Questions
    • General Python FAQ
      • General Information
      • Python in the real world
      • Upgrading Python
    • Programming FAQ
      • General Questions
      • Core Language
      • Numbers and strings
      • Sequences (Tuples/Lists)
      • Dictionaries
      • Objects
      • Modules
    • Design and History FAQ
      • Why does Python use indentation for grouping of statements?
      • Why am I getting strange results with simple arithmetic operations?
      • Why are floating point calculations so inaccurate?
      • Why are Python strings immutable?
      • Why must ‘self’ be used explicitly in method definitions and calls?
      • Why can’t I use an assignment in an expression?
      • Why does Python use methods for some functionality (e.g. list.index()) but functions for other (e.g. len(list))?
      • Why is join() a string method instead of a list or tuple method?
      • How fast are exceptions?
      • Why isn’t there a switch or case statement in Python?
      • Can’t you emulate threads in the interpreter instead of relying on an OS-specific thread implementation?
      • Why can’t lambda forms contain statements?
      • Can Python be compiled to machine code, C or some other language?
      • How does Python manage memory?
      • Why isn’t all memory freed when Python exits?
      • Why are there separate tuple and list data types?
      • How are lists implemented?
      • How are dictionaries implemented?
      • Why must dictionary keys be immutable?
      • Why doesn’t list.sort() return the sorted list?
      • How do you specify and enforce an interface spec in Python?
      • Why are default values shared between objects?
      • Why is there no goto?
      • Why can’t raw strings (r-strings) end with a backslash?
      • Why doesn’t Python have a “with” statement for attribute assignments?
      • Why are colons required for the if/while/def/class statements?
      • Why does Python allow commas at the end of lists and tuples?
    • Library and Extension FAQ
      • General Library Questions
      • Common tasks
      • Threads
      • Input and Output
      • Network/Internet Programming
      • Databases
      • Mathematics and Numerics
    • Extending/Embedding FAQ
      • Can I create my own functions in C?
      • Can I create my own functions in C++?
      • Writing C is hard; are there any alternatives?
      • How can I execute arbitrary Python statements from C?
      • How can I evaluate an arbitrary Python expression from C?
      • How do I extract C values from a Python object?
      • How do I use Py_BuildValue() to create a tuple of arbitrary length?
      • How do I call an object’s method from C?
      • How do I catch the output from PyErr_Print() (or anything that prints to stdout/stderr)?
      • How do I access a module written in Python from C?
      • How do I interface to C++ objects from Python?
      • I added a module using the Setup file and the make fails; why?
      • How do I debug an extension?
      • I want to compile a Python module on my Linux system, but some files are missing. Why?
      • What does “SystemError: _PyImport_FixupExtension: module yourmodule not loaded” mean?
      • How do I tell “incomplete input” from “invalid input”?
      • How do I find undefined g++ symbols __builtin_new or __pure_virtual?
      • Can I create an object class with some methods implemented in C and others in Python (e.g. through inheritance)?
      • When importing module X, why do I get “undefined symbol: PyUnicodeUCS2*”?
    • Python on Windows FAQ
      • How do I run a Python program under Windows?
      • How do I make Python scripts executable?
      • Why does Python sometimes take so long to start?
      • Where is Freeze for Windows?
      • Is a *.pyd file the same as a DLL?
      • How can I embed Python into a Windows application?
      • How do I use Python for CGI?
      • How do I keep editors from inserting tabs into my Python source?
      • How do I check for a keypress without blocking?
      • How do I emulate os.kill() in Windows?
      • Why does os.path.isdir() fail on NT shared directories?
      • cgi.py (or other CGI programming) doesn’t work sometimes on NT or win95!
      • Why doesn’t os.popen() work in PythonWin on NT?
      • Why doesn’t os.popen()/win32pipe.popen() work on Win9x?
      • PyRun_SimpleFile() crashes on Windows but not on Unix; why?
      • Importing _tkinter fails on Windows 95/98: why?
      • How do I extract the downloaded documentation on Windows?
      • Missing cw3215mt.dll (or missing cw3215.dll)
      • Warning about CTL3D32 version from installer
    • Graphic User Interface FAQ
      • What platform-independent GUI toolkits exist for Python?
      • What platform-specific GUI toolkits exist for Python?
      • Tkinter questions
    • “Why is Python Installed on my Computer?” FAQ
      • What is Python?
      • Why is Python installed on my machine?
      • Can I delete Python?
  • Glossary
  • About these documents
    • Contributors to the Python Documentation
  • Reporting Bugs
    • Documentation bugs
    • Using the Python issue tracker
  • Copyright
  • History and License
    • History of the software
    • Terms and conditions for accessing or otherwise using Python
    • Licenses and Acknowledgements for Incorporated Software
      • Mersenne Twister
      • Sockets
      • Floating point exception control
      • MD5 message digest algorithm
      • Asynchronous socket services
      • Cookie management
      • Execution tracing
      • UUencode and UUdecode functions
      • XML Remote Procedure Calls
      • test_epoll
      • Select kqueue
      • strtod and dtoa
      • OpenSSL
      • expat
      • libffi
      • zlib