IronPython
What’s New in Python
What’s New in Python 2.7
What’s New in Python 2.6
What’s New in Python 2.5
What’s New in Python 2.4
What’s New in Python 2.3
What’s New in Python 2.2
What’s New in Python 2.1
What’s New in Python 2.0
The Python Tutorial
1. Whetting Your Appetite
2. Using the Python Interpreter
3. An Informal Introduction to Python
4. More Control Flow Tools
5. Data Structures
6. Modules
7. Input and Output
8. Errors and Exceptions
9. Classes
10. Brief Tour of the Standard Library
11. Brief Tour of the Standard Library – Part II
12. What Now?
13. Interactive Input Editing and History Substitution
14. Floating Point Arithmetic: Issues and Limitations
Python Setup and Usage
1. Command line and environment
2. Using Python on Unix platforms
3. Using Python on Windows
4. Using Python on a Macintosh
The Python Language Reference
1. Introduction
2. Lexical analysis
3. Data model
4. Execution model
5. Expressions
6. Simple statements
7. Compound statements
8. Top-level components
9. Full Grammar specification
The Python Standard Library
1. Introduction
2. Built-in Functions
3. Non-essential Built-in Functions
4. Built-in Constants
5. Built-in Types
6. Built-in Exceptions
7. String Services
8. Data Types
9. Numeric and Mathematical Modules
10. File and Directory Access
11. Data Persistence
12. Data Compression and Archiving
13. File Formats
14. Cryptographic Services
15. Generic Operating System Services
16. Optional Operating System Services
17. Interprocess Communication and Networking
18. Internet Data Handling
19. Structured Markup Processing Tools
20. Internet Protocols and Support
21. Multimedia Services
22. Internationalization
23. Program Frameworks
24. Graphical User Interfaces with Tk
25. Development Tools
26. Debugging and Profiling
27. Python Runtime Services
28. Custom Python Interpreters
29. Restricted Execution
30. Importing Modules
31. Python Language Services
32. Python compiler package
33. Miscellaneous Services
34. MS Windows Specific Services
35. Unix Specific Services
36. Mac OS X specific services
37. MacPython OSA Modules
38. SGI IRIX Specific Services
39. SunOS Specific Services
40. Undocumented Modules
Extending and Embedding the Python Interpreter
1. Extending Python with C or C++
2. Defining New Types
3. Building C and C++ Extensions with distutils
4. Building C and C++ Extensions on Windows
5. Embedding Python in Another Application
IronPython .NET API Reference Manual
1. Extending IronPython with C#
2. Parsing and Tokenizing
Distributing Python Modules
1. An Introduction to Distutils
2. Writing the Setup Script
3. Writing the Setup Configuration File
4. Creating a Source Distribution
5. Creating Built Distributions
6. Registering with the Package Index
7. Uploading Packages to the Package Index
8. Examples
9. Extending Distutils
10. Command Reference
11. API Reference
Installing Python Modules
Introduction
Standard Build and Install
Alternate Installation
Custom Installation
Distutils Configuration Files
Building Extensions: Tips and Tricks
Documenting Python
1. Introduction
2. Style Guide
3. reStructuredText Primer
4. Additional Markup Constructs
5. Differences to the LaTeX markup
6. Building the documentation
Python HOWTOs
Python Advocacy HOWTO
Porting Extension Modules to 3.0
Curses Programming with Python
Descriptor HowTo Guide
Idioms and Anti-Idioms in Python
Functional Programming HOWTO
Logging HOWTO
Logging Cookbook
Regular Expression HOWTO
Socket Programming HOWTO
Sorting HOW TO
Unicode HOWTO
HOWTO Fetch Internet Resources Using urllib2
HOWTO Use Python in the web
Python Frequently Asked Questions
General Python FAQ
Programming FAQ
Design and History FAQ
Library and Extension FAQ
Extending/Embedding FAQ
Python on Windows FAQ
Graphic User Interface FAQ
“Why is Python Installed on my Computer?” FAQ
Glossary
About these documents
Contributors to the Python Documentation
Reporting Bugs
Documentation bugs
Using the Python issue tracker
Copyright
History and License
History of IronPython
Terms and conditions for accessing or otherwise using IronPython
Licenses and Acknowledgements for Incorporated Software
History of Python
Terms and conditions for accessing or otherwise using Python
Licenses and Acknowledgements for Incorporated Software
IronPython
Docs
»
IronPython Documentation contents
Edit on GitHub
IronPython Documentation contents
¶
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
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
import
statement
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. Boolean Values
5.12.10. 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.
deque
objects
8.3.2.1.
deque
Recipes
8.3.3.
defaultdict
objects
8.3.3.1.
defaultdict
Examples
8.3.4.
namedtuple()
Factory Function for Tuples with Named Fields
8.3.5.
OrderedDict
objects
8.3.5.1.
OrderedDict
Examples and Recipes
8.3.6. ABCs - 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
sqlite3
efficiently
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
gzip
files
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
.plist
files
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.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
— Terminal handling for character-cell displays
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.wrapper
— Terminal handler for curses programs
15.14.
curses.ascii
— Utilities for ASCII characters
15.15.
curses.panel
— A panel stack extension for curses
15.15.1. Functions
15.15.2. Panel Objects
15.16.
platform
— Access to underlying platform’s identifying data
15.16.1. Cross Platform
15.16.2. Java Platform
15.16.3. Windows Platform
15.16.3.1. Win95/98 specific
15.16.4. Mac OS Platform
15.16.5. Unix Platforms
15.17.
errno
— Standard errno system symbols
15.18.
ctypes
— A foreign function library for Python
15.18.1. ctypes tutorial
15.18.1.1. Loading dynamic link libraries
15.18.1.2. Accessing functions from loaded dlls
15.18.1.3. Calling functions
15.18.1.4. Fundamental data types
15.18.1.5. Calling functions, continued
15.18.1.6. Calling functions with your own custom data types
15.18.1.7. Specifying the required argument types (function prototypes)
15.18.1.8. Return types
15.18.1.9. Passing pointers (or: passing parameters by reference)
15.18.1.10. Structures and unions
15.18.1.11. Structure/union alignment and byte order
15.18.1.12. Bit fields in structures and unions
15.18.1.13. Arrays
15.18.1.14. Pointers
15.18.1.15. Type conversions
15.18.1.16. Incomplete Types
15.18.1.17. Callback functions
15.18.1.18. Accessing values exported from dlls
15.18.1.19. Surprises
15.18.1.20. Variable-sized data types
15.18.2. ctypes reference
15.18.2.1. Finding shared libraries
15.18.2.2. Loading shared libraries
15.18.2.3. Foreign functions
15.18.2.4. Function prototypes
15.18.2.5. Utility functions
15.18.2.6. Data types
15.18.2.7. Fundamental data types
15.18.2.8. Structured data types
15.18.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
ctypes
Objects
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.
Mailbox
objects
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.
Message
objects
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
import
internals
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. 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.
fm
—
Font Manager
interface
38.8.
gl
—
Graphics 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
IronPython .NET API Reference Manual
1. Extending IronPython with C#
1.1. A Simple Example
2. Parsing and Tokenizing
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
install
command 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 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 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 IronPython
Terms and conditions for accessing or otherwise using IronPython
Licenses and Acknowledgements for Incorporated Software
zlib.net
History of Python
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
Profiling
Execution tracing
UUencode and UUdecode functions
XML Remote Procedure Calls
test_epoll
Select kqueue
strtod and dtoa
OpenSSL
expat
libffi
zlib
Read the Docs
v: latest
Versions
latest
Downloads
PDF
HTML
Epub
On Read the Docs
Project Home
Builds
Free document hosting provided by
Read the Docs
.