Table of contents
- IronPython v2.7.4a1 documentation
- Global Module Index
-
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
- New and Improved Modules
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.7
- Acknowledgements
-
What's New in Python 2.6
- Python 3.0
- PEP 343: The 'with' statement
- PEP 366: Explicit Relative Imports From a Main Module
- PEP 370: Per-user site-packages Directory
- 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 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 and Improved Modules
- Deprecations and Removals
- Acknowledgements
-
What's New in Python 2.5 (IronPython 2.0)
- 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
- PEP 352: Exceptions as New-Style Classes
- PEP 357: The '__index__' method
- Other Language Changes
- New, Improved, and Removed Modules
- Porting to IronPython 2.0
- Acknowledgements
-
What's New in Python 2.7
-
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
- Customizing instance and subclass checks
- 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 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
- memoryview type
- 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
-
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
- dbhash --- DBM-style interface to the BSD database 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
- argparse -- Parser for command line options, arguments and sub-commands
-
optparse --- Parser for command line options
- 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 --- C-style parser for command line options
-
logging --- Logging facility for Python
- Logging tutorial
- Logging Levels
- Useful Handlers
- Module-Level Functions
- Logger Objects
- Basic example
- Logging to multiple destinations
- Exceptions raised during logging
- Adding contextual information to your logging output
- Logging to a single file from multiple processes
- Sending and receiving logging events across a network
- Using arbitrary objects as messages
- Optimization
- Handler Objects
- Formatter Objects
- Filter Objects
- LogRecord Objects
- LoggerAdapter Objects
- Thread Safety
- Integration with the warnings module
- 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
- 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
- Internationalization
- Program Frameworks
-
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
- sysconfig --- Provide access to Python's configuration information
- __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
- distutils --- Building and installing Python modules
- 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
- Python compiler package
- Miscellaneous Services
- MS Windows Specific Services
- Undocumented Modules
-
IronPython Hosting
- Getting Started
-
DLR Hosting APIs
- DLR Hosting Overview
- ScriptRuntime
- ScriptScope
- ScriptEngine
- ScriptSource
- ObjectOperations
- SourceCodeKind
- ScriptCodeParseResult
- CompiledCode
- ScriptRuntimeSetup
- LanguageSetup
- ExceptionOperations
- ScriptIO
- ScriptHost
- PlatformAdaptionLayer
- .NET Interop
-
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.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
- Descriptor HowTo Guide
- Idioms and Anti-Idioms in Python
- Functional Programming HOWTO
- Regular Expression HOWTO
- Socket Programming HOWTO
- Sorting HOW TO
- Unicode HOWTO
- HOWTO Fetch Internet Resources Using urllib2
- HOWTO Use Python in the web
- IronPython .NET API Reference Manual
-
Python Frequently Asked Questions
- General Python FAQ
- Programming FAQ
-
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
-
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
- "Why is Python Installed on my Computer?" FAQ
- Glossary
- About these documents
- Reporting Bugs
- Copyright
- History and License