Python Documentation contents
- What’s New in Python 2.6
- Python 3.0
- Changes to the Development Process
- PEP 343: The ‘with’ statement
- 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
- Other Language Changes
- New, Improved, and Deprecated Modules
- Build and C API Changes
- Porting to Python 2.6
- Acknowledgements
- The Python Tutorial
- Whetting Your Appetite
- Using the Python Interpreter
- An Informal Introduction to Python
- More Control Flow Tools
- Data Structures
- Modules
- Input and Output
- Errors and Exceptions
- Classes
- Brief Tour of the Standard Library
- Brief Tour of the Standard Library – Part II
- What Now?
- Interactive Input Editing and History Substitution
- Floating Point Arithmetic: Issues and Limitations
- Using Python
- The Python Language Reference
- Introduction
- Lexical analysis
- Data model
- Objects, values and types
- The standard type hierarchy
- New-style and classic classes
- Special method names
- Basic customization
- Customizing attribute access
- Customizing class creation
- Emulating callable objects
- Emulating container types
- Additional methods for emulation of sequence types
- Emulating numeric types
- Coercion rules
- With Statement Context Managers
- Special method lookup for old-style classes
- Special method lookup for new-style classes
- Execution model
- Expressions
- Simple statements
- Compound statements
- Top-level components
- Full Grammar specification
- The Python Standard Library
- Introduction
- Built-in Functions
- Non-essential Built-in Functions
- Built-in Constants
- Built-in Objects
- Built-in Types
- Truth Value Testing
- Boolean Operations — and, or, not
- Comparisons
- Numeric Types — int, float, long, complex
- Iterator Types
- Sequence Types — str, unicode, list, tuple, buffer, xrange
- Set Types — set, frozenset
- Mapping Types — dict
- File Objects
- Context Manager Types
- Other Built-in Types
- Special Attributes
- Built-in Exceptions
- String Services
- string — Common string operations
- re — Regular expression operations
- struct — Interpret strings as packed binary data
- difflib — Helpers for computing deltas
- StringIO — Read and write strings as files
- cStringIO — Faster version of StringIO
- textwrap — Text wrapping and filling
- codecs — Codec registry and base classes
- unicodedata — Unicode Database
- stringprep — Internet String Preparation
- fpformat — Floating point conversions
- Data Types
- datetime — Basic date and time types
- calendar — General calendar-related functions
- collections — High-performance container datatypes
- heapq — Heap queue algorithm
- bisect — Array bisection algorithm
- array — Efficient arrays of numeric values
- sets — Unordered collections of unique elements
- sched — Event scheduler
- mutex — Mutual exclusion support
- queue — A synchronized queue class
- weakref — Weak references
- UserDict — Class wrapper for dictionary objects
- UserList — Class wrapper for list objects
- UserString — Class wrapper for string objects
- types — Names for built-in types
- new — Creation of runtime internal objects
- copy — Shallow and deep copy operations
- pprint — Data pretty printer
- repr — Alternate repr implementation
- Numeric and Mathematical Modules
- numbers — Numeric abstract base classes
- math — Mathematical functions
- cmath — Mathematical functions for complex numbers
- decimal — Decimal fixed point and floating point arithmetic
- fractions — Rational numbers
- random — Generate pseudo-random numbers
- itertools — Functions creating iterators for efficient looping
- functools — Higher order functions and operations on callable objects
- operator — Standard operators as functions
- File and Directory Access
- os.path — Common pathname manipulations
- fileinput — Iterate over lines from multiple input streams
- stat — Interpreting stat results
- statvfs — Constants used with os.statvfs
- filecmp — File and Directory Comparisons
- tempfile — Generate temporary files and directories
- glob — Unix style pathname pattern expansion
- fnmatch — Unix filename pattern matching
- linecache — Random access to text lines
- shutil — High-level file operations
- dircache — Cached directory listings
- macpath — Mac OS 9 path manipulation functions
- Data Persistence
- pickle — Python object serialization
- cPickle — A faster pickle
- copy_reg — Register pickle support functions
- shelve — Python object persistence
- marshal — Internal Python object serialization
- anydbm — Generic access to DBM-style databases
- whichdb — Guess which DBM module created a database
- dbm — Simple “database” interface
- gdbm — GNU’s reinterpretation of dbm
- dbhash — DBM-style interface to the BSD database library
- bsddb — Interface to Berkeley DB library
- dumbdbm — Portable DBM implementation
- sqlite3 — DB-API 2.0 interface for SQLite databases
- Data Compression and Archiving
- File Formats
- Cryptographic Services
- Generic Operating System Services
- os — Miscellaneous operating system interfaces
- io — Core tools for working with streams
- time — Time access and conversions
- optparse — More powerful command line option parser
- Background
- Tutorial
- Reference Guide
- Option Callbacks
- Defining a callback option
- How callbacks are called
- Raising errors in a callback
- Callback example 1: trivial callback
- Callback example 2: check option order
- Callback example 3: check option order (generalized)
- Callback example 4: check arbitrary condition
- Callback example 5: fixed arguments
- Callback example 6: variable arguments
- Extending optparse
- getopt — Parser for command line options
- logging — Logging facility for Python
- Logging tutorial
- Logging Levels
- Logger Objects
- Basic example
- Logging to multiple destinations
- Adding contextual information to your logging output
- Sending and receiving logging events across a network
- Handler Objects
- Formatter Objects
- Filter Objects
- LogRecord Objects
- LoggerAdapter Objects
- Thread Safety
- Configuration
- More examples
- getpass — Portable password input
- curses — Terminal handling for character-cell displays
- curses.textpad — Text input widget for curses programs
- curses.wrapper — Terminal handler for curses programs
- curses.ascii — Utilities for ASCII characters
- curses.panel — A panel stack extension for curses.
- platform — Access to underlying platform’s identifying data.
- errno — Standard errno system symbols
- ctypes — A foreign function library for Python.
- ctypes tutorial
- Loading dynamic link libraries
- Accessing functions from loaded dlls
- Calling functions
- Fundamental data types
- Calling functions, continued
- Calling functions with your own custom data types
- Specifying the required argument types (function prototypes)
- Return types
- Passing pointers (or: passing parameters by reference)
- Structures and unions
- Structure/union alignment and byte order
- Bit fields in structures and unions
- Arrays
- Pointers
- Type conversions
- Incomplete Types
- Callback functions
- Accessing values exported from dlls
- Surprises
- Variable-sized data types
- ctypes reference
- ctypes tutorial
- Optional Operating System Services
- select — Waiting for I/O completion
- threading — Higher-level threading interface
- thread — Multiple threads of control
- dummy_threading — Drop-in replacement for the threading module
- dummy_thread — Drop-in replacement for the thread module
- multiprocessing — Process-based “threading” interface
- mmap — Memory-mapped file support
- readline — GNU readline interface
- rlcompleter — Completion function for GNU readline
- Interprocess Communication and Networking
- subprocess — Subprocess management
- socket — Low-level networking interface
- ssl — SSL wrapper for socket objects
- signal — Set handlers for asynchronous events
- popen2 — Subprocesses with accessible I/O streams
- asyncore — Asynchronous socket handler
- asynchat — Asynchronous socket command/response handler
- Internet Data Handling
- email — An email and MIME handling package
- email: Representing an email message
- email: Parsing email messages
- email: Generating MIME documents
- email: Creating email and MIME objects from scratch
- email: Internationalized headers
- email: Representing character sets
- email: Encoders
- email: Exception and Defect classes
- email: Miscellaneous utilities
- email: Iterators
- email: Examples
- Package History
- Differences from mimelib
- json — JSON encoder and decoder
- mailcap — Mailcap file handling
- mailbox — Manipulate mailboxes in various formats
- mhlib — Access to MH mailboxes
- mimetools — Tools for parsing MIME messages
- mimetypes — Map filenames to MIME types
- MimeWriter — Generic MIME file writer
- mimify — MIME processing of mail messages
- multifile — Support for files containing distinct parts
- rfc822 — Parse RFC 2822 mail headers
- base64 — RFC 3548: Base16, Base32, Base64 Data Encodings
- binhex — Encode and decode binhex4 files
- binascii — Convert between binary and ASCII
- quopri — Encode and decode MIME quoted-printable data
- uu — Encode and decode uuencode files
- email — An email and MIME handling package
- Structured Markup Processing Tools
- HTMLParser — Simple HTML and XHTML parser
- sgmllib — Simple SGML parser
- htmllib — A parser for HTML documents
- htmlentitydefs — Definitions of HTML general entities
- xml.parsers.expat — Fast XML parsing using Expat
- xml.dom — The Document Object Model API
- xml.dom.minidom — Lightweight DOM implementation
- xml.dom.pulldom — Support for building partial DOM trees
- xml.sax — Support for SAX2 parsers
- xml.sax.handler — Base classes for SAX handlers
- xml.sax.saxutils — SAX Utilities
- xml.sax.xmlreader — Interface for XML parsers
- xml.etree.ElementTree — The ElementTree XML API
- Internet Protocols and Support
- webbrowser — Convenient Web-browser controller
- cgi — Common Gateway Interface support.
- cgitb — Traceback manager for CGI scripts
- wsgiref — WSGI Utilities and Reference Implementation
- urllib — Open arbitrary resources by URL
- urllib2 — extensible library for opening URLs
- Request Objects
- OpenerDirector Objects
- BaseHandler Objects
- HTTPRedirectHandler Objects
- HTTPCookieProcessor Objects
- ProxyHandler Objects
- HTTPPasswordMgr Objects
- AbstractBasicAuthHandler Objects
- HTTPBasicAuthHandler Objects
- ProxyBasicAuthHandler Objects
- AbstractDigestAuthHandler Objects
- HTTPDigestAuthHandler Objects
- ProxyDigestAuthHandler Objects
- HTTPHandler Objects
- HTTPSHandler Objects
- FileHandler Objects
- FTPHandler Objects
- CacheFTPHandler Objects
- UnknownHandler Objects
- HTTPErrorProcessor Objects
- Examples
- httplib — HTTP protocol client
- ftplib — FTP protocol client
- poplib — POP3 protocol client
- imaplib — IMAP4 protocol client
- nntplib — NNTP protocol client
- smtplib — SMTP protocol client
- smtpd — SMTP Server
- telnetlib — Telnet client
- uuid — UUID objects according to RFC 4122
- urlparse — Parse URLs into components
- SocketServer — A framework for network servers
- BaseHTTPServer — Basic HTTP server
- SimpleHTTPServer — Simple HTTP request handler
- CGIHTTPServer — CGI-capable HTTP request handler
- cookielib — Cookie handling for HTTP clients
- Cookie — HTTP state management
- xmlrpclib — XML-RPC client access
- SimpleXMLRPCServer — Basic XML-RPC server
- DocXMLRPCServer — Self-documenting XML-RPC server
- Multimedia Services
- audioop — Manipulate raw audio data
- imageop — Manipulate raw image data
- aifc — Read and write AIFF and AIFC files
- sunau — Read and write Sun AU files
- wave — Read and write WAV files
- chunk — Read IFF chunked data
- colorsys — Conversions between color systems
- imghdr — Determine the type of an image
- sndhdr — Determine type of sound file
- ossaudiodev — Access to OSS-compatible audio devices
- Internationalization
- Program Frameworks
- Graphical User Interfaces with Tk
- Tkinter — Python interface to Tcl/Tk
- Tix — Extension widgets for Tk
- ScrolledText — Scrolled Text Widget
- turtle — Turtle graphics for Tk
- IDLE
- Other Graphical User Interface Packages
- Development Tools
- pydoc — Documentation generator and online help system
- doctest — Test interactive Python examples
- unittest — Unit testing framework
- 2to3 - Automated Python 2 to 3 code translation
- test — Regression tests package for Python
- test.test_support — Utility functions for tests
- Debugging and Profiling
- Python Runtime Services
- sys — System-specific parameters and functions
- __builtin__ — Built-in objects
- future_builtins — Python 3 builtins
- __main__ — Top-level script environment
- warnings — Warning control
- contextlib — Utilities for with-statement contexts.
- abc — Abstract Base Classes
- atexit — Exit handlers
- traceback — Print or retrieve a stack traceback
- __future__ — Future statement definitions
- gc — Garbage Collector interface
- inspect — Inspect live objects
- site — Site-specific configuration hook
- user — User-specific configuration hook
- fpectl — Floating point exception control
- Custom Python Interpreters
- Restricted Execution
- Importing Modules
- Python Language Services
- parser — Access Python parse trees
- Abstract Syntax Trees
- symtable — Access to the compiler’s symbol tables
- symbol — Constants used with Python parse trees
- token — Constants used with Python parse trees
- keyword — Testing for Python keywords
- tokenize — Tokenizer for Python source
- tabnanny — Detection of ambiguous indentation
- pyclbr — Python class browser support
- py_compile — Compile Python source files
- compileall — Byte-compile Python libraries
- dis — Disassembler for Python bytecode
- pickletools — Tools for pickle developers.
- distutils — Building and installing Python modules
- Python compiler package
- Miscellaneous Services
- MS Windows Specific Services
- Unix Specific Services
- posix — The most common POSIX system calls
- pwd — The password database
- spwd — The shadow password database
- grp — The group database
- crypt — Function to check Unix passwords
- dl — Call C functions in shared objects
- termios — POSIX style tty control
- tty — Terminal control functions
- pty — Pseudo-terminal utilities
- fcntl — The fcntl and ioctl system calls
- pipes — Interface to shell pipelines
- posixfile — File-like objects with locking support
- resource — Resource usage information
- nis — Interface to Sun’s NIS (Yellow Pages)
- syslog — Unix syslog library routines
- commands — Utilities for running commands
- Mac OS X specific services
- ic — Access to the Mac OS X Internet Config
- MacOS — Access to Mac OS interpreter features
- macostools — Convenience routines for file manipulation
- findertools — The finder‘s Apple Events interface
- EasyDialogs — Basic Macintosh dialogs
- FrameWork — Interactive application framework
- autoGIL — Global Interpreter Lock handling in event loops
- Mac OS Toolbox Modules
- Carbon.AE — Apple Events
- Carbon.AH — Apple Help
- Carbon.App — Appearance Manager
- Carbon.CF — Core Foundation
- Carbon.CG — Core Graphics
- Carbon.CarbonEvt — Carbon Event Manager
- Carbon.Cm — Component Manager
- Carbon.Ctl — Control Manager
- Carbon.Dlg — Dialog Manager
- Carbon.Evt — Event Manager
- Carbon.Fm — Font Manager
- Carbon.Folder — Folder Manager
- Carbon.Help — Help Manager
- Carbon.List — List Manager
- Carbon.Menu — Menu Manager
- Carbon.Mlte — MultiLingual Text Editor
- Carbon.Qd — QuickDraw
- Carbon.Qdoffs — QuickDraw Offscreen
- Carbon.Qt — QuickTime
- Carbon.Res — Resource Manager and Handles
- Carbon.Scrap — Scrap Manager
- Carbon.Snd — Sound Manager
- Carbon.TE — TextEdit
- Carbon.Win — Window Manager
- ColorPicker — Color selection dialog
- MacPython OSA Modules
- SGI IRIX Specific Services
- al — Audio functions on the SGI
- AL — Constants used with the al module
- cd — CD-ROM access on SGI systems
- fl — FORMS library for graphical user interfaces
- FL — Constants used with the fl module
- flp — Functions for loading stored FORMS designs
- fm — Font Manager interface
- gl — Graphics Library interface
- DEVICE — Constants used with the gl module
- GL — Constants used with the gl module
- imgfile — Support for SGI imglib files
- jpeg — Read and write JPEG files
- SunOS Specific Services
- Undocumented Modules
- Miscellaneous useful utilities
- Platform specific modules
- Multimedia
- Undocumented Mac OS modules
- applesingle — AppleSingle decoder
- buildtools — Helper module for BuildApplet and Friends
- cfmfile — Code Fragment Resource module
- icopen — Internet Config replacement for open
- macerrors — Mac OS Errors
- macresource — Locate script resources
- Nav — NavServices calls
- PixMapWrapper — Wrapper for PixMap objects
- videoreader — Read QuickTime movies
- W — Widgets built on FrameWork
- Obsolete
- SGI-specific Extension modules
- Extending and Embedding the Python Interpreter
- Extending Python with C or C++
- A Simple Example
- Intermezzo: Errors and Exceptions
- Back to the Example
- The Module’s Method Table and Initialization Function
- Compilation and Linkage
- Calling Python Functions from C
- Extracting Parameters in Extension Functions
- Keyword Parameters for Extension Functions
- Building Arbitrary Values
- Reference Counts
- Writing Extensions in C++
- Providing a C API for an Extension Module
- Defining New Types
- Building C and C++ Extensions with distutils
- Building C and C++ Extensions on Windows
- Embedding Python in Another Application
- Extending Python with C or C++
- Python/C API Reference Manual
- Introduction
- The Very High Level Layer
- Reference Counting
- Exception Handling
- Utilities
- Abstract Objects Layer
- Concrete Objects Layer
- Initialization, Finalization, and Threads
- Memory Management
- Object Implementation Support
- Distributing Python Modules
- An Introduction to Distutils
- Writing the Setup Script
- Writing the Setup Configuration File
- Creating a Source Distribution
- Creating Built Distributions
- Registering with the Package Index
- Uploading Packages to the Package Index
- Examples
- Extending Distutils
- Command Reference
- API Reference
- distutils.core — Core Distutils functionality
- distutils.ccompiler — CCompiler base class
- distutils.unixccompiler — Unix C Compiler
- distutils.msvccompiler — Microsoft Compiler
- distutils.bcppcompiler — Borland Compiler
- distutils.cygwincompiler — Cygwin Compiler
- distutils.emxccompiler — OS/2 EMX Compiler
- distutils.mwerkscompiler — Metrowerks CodeWarrior support
- distutils.archive_util — Archiving utilities
- distutils.dep_util — Dependency checking
- distutils.dir_util — Directory tree operations
- distutils.file_util — Single file operations
- distutils.util — Miscellaneous other utility functions
- distutils.dist — The Distribution class
- distutils.extension — The Extension class
- distutils.debug — Distutils debug mode
- distutils.errors — Distutils exceptions
- distutils.fancy_getopt — Wrapper around the standard getopt module
- distutils.filelist — The FileList class
- distutils.log — Simple PEP 282-style logging
- distutils.spawn — Spawn a sub-process
- distutils.sysconfig — System configuration information
- distutils.text_file — The TextFile class
- distutils.version — Version number classes
- distutils.cmd — Abstract base class for Distutils commands
- distutils.command — Individual Distutils commands
- distutils.command.bdist — Build a binary installer
- distutils.command.bdist_packager — Abstract base class for packagers
- distutils.command.bdist_dumb — Build a “dumb” installer
- distutils.command.bdist_msi — Build a Microsoft Installer binary package
- distutils.command.bdist_rpm — Build a binary distribution as a Redhat RPM and SRPM
- distutils.command.bdist_wininst — Build a Windows installer
- distutils.command.sdist — Build a source distribution
- distutils.command.build — Build all files of a package
- distutils.command.build_clib — Build any C libraries in a package
- distutils.command.build_ext — Build any extensions in a package
- distutils.command.build_py — Build the .py/.pyc files of a package
- distutils.command.build_scripts — Build the scripts of a package
- distutils.command.clean — Clean a package build area
- distutils.command.config — Perform package configuration
- distutils.command.install — Install a package
- distutils.command.install_data — Install data files from a package
- distutils.command.install_headers — Install C/C++ header files from a package
- distutils.command.install_lib — Install library files from a package
- distutils.command.install_scripts — Install script files from a package
- distutils.command.register — Register a module with the Python Package Index
- Creating a new Distutils command
- Installing Python Modules
- Documenting Python
- Python HOWTOs
- Python Advocacy HOWTO
- Porting Extension Modules to 3.0
- Curses Programming with Python
- Idioms and Anti-Idioms in Python
- Functional Programming HOWTO
- Regular Expression HOWTO
- Socket Programming HOWTO
- Unicode HOWTO
- HOWTO Fetch Internet Resources Using urllib2
- HOWTO Use Python in the web