Python Documentation contents¶
- What’s New in Python
- What’s New in Python 2.7
- The Future for Python 2.x
- Changes to the Handling of Deprecation Warnings
- 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
- New Features Added to Python 2.7 Maintenance Releases
- Acknowledgements
- 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 and Improved Modules
- Deprecations and Removals
- Build and C API Changes
- 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
- PEP 352: Exceptions as New-Style Classes
- PEP 353: Using ssize_t as the index type
- PEP 357: The ‘__index__’ method
- Other Language Changes
- New, Improved, and Removed Modules
- Build and C API 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
- PEP 328: Multi-line Imports
- PEP 331: Locale-Independent Float/String Conversions
- Other Language Changes
- New, Improved, and Deprecated Modules
- Build and C API 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
- New, Improved, and Deprecated Modules
- Pymalloc: A Specialized Object Allocator
- Build and C API 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
- 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
- Porting to 2.0
- Extending/Embedding Changes
- Distutils: Making Modules Easy to Install
- XML Modules
- Module changes
- New modules
- IDLE Improvements
- Deleted and Deprecated Modules
- Acknowledgements
- What’s New in Python 2.7
- 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
- 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
- 12. What Now?
- 13. Interactive Input Editing and History Substitution
- 14. Floating Point Arithmetic: Issues and Limitations
- 15. Appendix
- Python Setup and Usage
- The Python Language Reference
- 1. Introduction
- 2. Lexical analysis
- 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.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
- 5. Expressions
- 5.1. Arithmetic conversions
- 5.2. Atoms
- 5.3. Primaries
- 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. Operator precedence
- 6. Simple statements
- 6.1. Expression statements
- 6.2. 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.13. The
global
statement - 6.14. The
exec
statement
- 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
- 5.1. Truth Value Testing
- 5.2. Boolean Operations —
and
,or
,not
- 5.3. Comparisons
- 5.4. Numeric Types —
int
,float
,long
,complex
- 5.5. Iterator Types
- 5.6. Sequence Types —
str
,unicode
,list
,tuple
,bytearray
,buffer
,xrange
- 5.7. Set Types —
set
,frozenset
- 5.8. Mapping Types —
dict
- 5.9. File Objects
- 5.10. memoryview type
- 5.11. Context Manager Types
- 5.12. Other Built-in Types
- 5.13. Special Attributes
- 6. Built-in Exceptions
- 7. String Services
- 7.1.
string
— Common string operations - 7.2.
re
— Regular expression operations - 7.3.
struct
— Interpret strings as packed binary data - 7.4.
difflib
— Helpers for computing deltas - 7.5.
StringIO
— Read and write strings as files - 7.6.
cStringIO
— Faster version ofStringIO
- 7.7.
textwrap
— Text wrapping and filling - 7.8.
codecs
— Codec registry and base classes - 7.9.
unicodedata
— Unicode Database - 7.10.
stringprep
— Internet String Preparation - 7.11.
fpformat
— Floating point conversions
- 7.1.
- 8. Data Types
- 8.1.
datetime
— Basic date and time types - 8.2.
calendar
— General calendar-related functions - 8.3.
collections
— High-performance container datatypes - 8.4.
heapq
— Heap queue algorithm - 8.5.
bisect
— Array bisection algorithm - 8.6.
array
— Efficient arrays of numeric values - 8.7.
sets
— Unordered collections of unique elements - 8.8.
sched
— Event scheduler - 8.9.
mutex
— Mutual exclusion support - 8.10.
Queue
— A synchronized queue class - 8.11.
weakref
— Weak references - 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.19.
repr
— Alternaterepr()
implementation
- 8.1.
- 9. Numeric and Mathematical Modules
- 9.1.
numbers
— Numeric abstract base classes - 9.2.
math
— Mathematical functions - 9.3.
cmath
— Mathematical functions for complex numbers - 9.4.
decimal
— Decimal fixed point and floating point arithmetic - 9.5.
fractions
— Rational numbers - 9.6.
random
— Generate pseudo-random numbers - 9.7.
itertools
— Functions creating iterators for efficient looping - 9.8.
functools
— Higher-order functions and operations on callable objects - 9.9.
operator
— Standard operators as functions
- 9.1.
- 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
— Interpretingstat()
results - 10.4.
statvfs
— Constants used withos.statvfs()
- 10.5.
filecmp
— File and Directory Comparisons - 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.11.
dircache
— Cached directory listings - 10.12.
macpath
— Mac OS 9 path manipulation functions
- 10.1.
- 11. Data Persistence
- 11.1.
pickle
— Python object serialization - 11.2.
cPickle
— A fasterpickle
- 11.3.
copy_reg
— Registerpickle
support functions - 11.4.
shelve
— Python object persistence - 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.11.
bsddb
— Interface to Berkeley DB library - 11.12.
dumbdbm
— Portable DBM implementation - 11.13.
sqlite3
— DB-API 2.0 interface for SQLite databases
- 11.1.
- 12. Data Compression and Archiving
- 13. File Formats
- 14. Cryptographic Services
- 15. Generic Operating System Services
- 15.1.
os
— Miscellaneous operating system interfaces - 15.2.
io
— Core tools for working with streams - 15.3.
time
— Time access and conversions - 15.4.
argparse
— Parser for command-line options, arguments and sub-commands - 15.5.
optparse
— Parser for command line options- 15.5.1. Background
- 15.5.2. Tutorial
- 15.5.3. Reference Guide
- 15.5.3.1. Creating the parser
- 15.5.3.2. Populating the parser
- 15.5.3.3. Defining options
- 15.5.3.4. Option attributes
- 15.5.3.5. Standard option actions
- 15.5.3.6. Standard option types
- 15.5.3.7. Parsing arguments
- 15.5.3.8. Querying and manipulating your option parser
- 15.5.3.9. Conflicts between options
- 15.5.3.10. Cleanup
- 15.5.3.11. Other methods
- 15.5.4. Option Callbacks
- 15.5.4.1. Defining a callback option
- 15.5.4.2. How callbacks are called
- 15.5.4.3. Raising errors in a callback
- 15.5.4.4. Callback example 1: trivial callback
- 15.5.4.5. Callback example 2: check option order
- 15.5.4.6. Callback example 3: check option order (generalized)
- 15.5.4.7. Callback example 4: check arbitrary condition
- 15.5.4.8. Callback example 5: fixed arguments
- 15.5.4.9. Callback example 6: variable arguments
- 15.5.5. Extending
optparse
- 15.6.
getopt
— C-style parser for command line options - 15.7.
logging
— Logging facility for Python- 15.7.1. Logger Objects
- 15.7.2. Logging Levels
- 15.7.3. Handler Objects
- 15.7.4. Formatter Objects
- 15.7.5. Filter Objects
- 15.7.6. LogRecord Objects
- 15.7.7. LogRecord attributes
- 15.7.8. LoggerAdapter Objects
- 15.7.9. Thread Safety
- 15.7.10. Module-Level Functions
- 15.7.11. Integration with the warnings module
- 15.8.
logging.config
— Logging configuration - 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.12.
curses.textpad
— Text input widget for curses programs - 15.13.
curses.ascii
— Utilities for ASCII characters - 15.14.
curses.panel
— A panel stack extension for curses - 15.15.
platform
— Access to underlying platform’s identifying data - 15.16.
errno
— Standard errno system symbols - 15.17.
ctypes
— A foreign function library for Python- 15.17.1. ctypes tutorial
- 15.17.1.1. Loading dynamic link libraries
- 15.17.1.2. Accessing functions from loaded dlls
- 15.17.1.3. Calling functions
- 15.17.1.4. Fundamental data types
- 15.17.1.5. Calling functions, continued
- 15.17.1.6. Calling functions with your own custom data types
- 15.17.1.7. Specifying the required argument types (function prototypes)
- 15.17.1.8. Return types
- 15.17.1.9. Passing pointers (or: passing parameters by reference)
- 15.17.1.10. Structures and unions
- 15.17.1.11. Structure/union alignment and byte order
- 15.17.1.12. Bit fields in structures and unions
- 15.17.1.13. Arrays
- 15.17.1.14. Pointers
- 15.17.1.15. Type conversions
- 15.17.1.16. Incomplete Types
- 15.17.1.17. Callback functions
- 15.17.1.18. Accessing values exported from dlls
- 15.17.1.19. Surprises
- 15.17.1.20. Variable-sized data types
- 15.17.2. ctypes reference
- 15.17.1. ctypes tutorial
- 15.1.
- 16. Optional Operating System Services
- 16.1.
select
— Waiting for I/O completion - 16.2.
threading
— Higher-level threading interface - 16.3.
thread
— Multiple threads of control - 16.4.
dummy_threading
— Drop-in replacement for thethreading
module - 16.5.
dummy_thread
— Drop-in replacement for thethread
module - 16.6.
multiprocessing
— Process-based “threading” interface- 16.6.1. Introduction
- 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.7. Managers
- 16.6.2.8. Proxy Objects
- 16.6.2.9. Process Pools
- 16.6.2.10. Listeners and Clients
- 16.6.2.11. Authentication keys
- 16.6.2.12. Logging
- 16.6.2.13. The
multiprocessing.dummy
module
- 16.6.2.1.
- 16.6.3. Programming guidelines
- 16.6.4. Examples
- 16.7.
mmap
— Memory-mapped file support - 16.8.
readline
— GNU readline interface - 16.9.
rlcompleter
— Completion function for GNU readline
- 16.1.
- 17. Interprocess Communication and Networking
- 17.1.
subprocess
— Subprocess management - 17.2.
socket
— Low-level networking interface - 17.3.
ssl
— TLS/SSL wrapper for socket objects - 17.4.
signal
— Set handlers for asynchronous events - 17.5.
popen2
— Subprocesses with accessible I/O streams - 17.6.
asyncore
— Asynchronous socket handler - 17.7.
asynchat
— Asynchronous socket command/response handler
- 17.1.
- 18. Internet Data Handling
- 18.1.
email
— An email and MIME handling package- 18.1.1.
email.message
: Representing an email message - 18.1.2.
email.parser
: Parsing email messages - 18.1.3.
email.generator
: Generating MIME documents - 18.1.4.
email.mime
: Creating email and MIME objects from scratch - 18.1.5.
email.header
: Internationalized headers - 18.1.6.
email.charset
: Representing character sets - 18.1.7.
email.encoders
: Encoders - 18.1.8.
email.errors
: Exception and Defect classes - 18.1.9.
email.utils
: Miscellaneous utilities - 18.1.10.
email.iterators
: Iterators - 18.1.11.
email
: Examples - 18.1.12. Package History
- 18.1.13. Differences from
mimelib
- 18.1.1.
- 18.2.
json
— JSON encoder and decoder - 18.3.
mailcap
— Mailcap file handling - 18.4.
mailbox
— Manipulate mailboxes in various formats - 18.5.
mhlib
— Access to MH mailboxes - 18.6.
mimetools
— Tools for parsing MIME messages - 18.7.
mimetypes
— Map filenames to MIME types - 18.8.
MimeWriter
— Generic MIME file writer - 18.9.
mimify
— MIME processing of mail messages - 18.10.
multifile
— Support for files containing distinct parts - 18.11.
rfc822
— Parse RFC 2822 mail headers - 18.12.
base64
— RFC 3548: Base16, Base32, Base64 Data Encodings - 18.13.
binhex
— Encode and decode binhex4 files - 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
- 18.1.
- 19. Structured Markup Processing Tools
- 19.1.
HTMLParser
— Simple HTML and XHTML parser - 19.2.
sgmllib
— Simple SGML parser - 19.3.
htmllib
— A parser for HTML documents - 19.4.
htmlentitydefs
— Definitions of HTML general entities - 19.5. XML Processing Modules
- 19.6. XML vulnerabilities
- 19.7.
xml.etree.ElementTree
— The ElementTree XML API - 19.8.
xml.dom
— The Document Object Model API- 19.8.1. Module Contents
- 19.8.2. Objects in the DOM
- 19.8.2.1. DOMImplementation Objects
- 19.8.2.2. Node Objects
- 19.8.2.3. NodeList Objects
- 19.8.2.4. DocumentType Objects
- 19.8.2.5. Document Objects
- 19.8.2.6. Element Objects
- 19.8.2.7. Attr Objects
- 19.8.2.8. NamedNodeMap Objects
- 19.8.2.9. Comment Objects
- 19.8.2.10. Text and CDATASection Objects
- 19.8.2.11. ProcessingInstruction Objects
- 19.8.2.12. Exceptions
- 19.8.3. Conformance
- 19.9.
xml.dom.minidom
— Minimal DOM implementation - 19.10.
xml.dom.pulldom
— Support for building partial DOM trees - 19.11.
xml.sax
— Support for SAX2 parsers - 19.12.
xml.sax.handler
— Base classes for SAX handlers - 19.13.
xml.sax.saxutils
— SAX Utilities - 19.14.
xml.sax.xmlreader
— Interface for XML parsers - 19.15.
xml.parsers.expat
— Fast XML parsing using Expat
- 19.1.
- 20. Internet Protocols and Support
- 20.1.
webbrowser
— Convenient Web-browser controller - 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.5.
urllib
— Open arbitrary resources by URL - 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.8.
ftplib
— FTP protocol client - 20.9.
poplib
— POP3 protocol client - 20.10.
imaplib
— IMAP4 protocol client - 20.11.
nntplib
— NNTP protocol client - 20.12.
smtplib
— SMTP protocol client - 20.13.
smtpd
— SMTP Server - 20.14.
telnetlib
— Telnet client - 20.15.
uuid
— UUID objects according to RFC 4122 - 20.16.
urlparse
— Parse URLs into components - 20.17.
SocketServer
— A framework for network servers - 20.18.
BaseHTTPServer
— Basic HTTP server - 20.19.
SimpleHTTPServer
— Simple HTTP request handler - 20.20.
CGIHTTPServer
— CGI-capable HTTP request handler - 20.21.
cookielib
— Cookie handling for HTTP clients - 20.22.
Cookie
— HTTP state management - 20.23.
xmlrpclib
— XML-RPC client access - 20.24.
SimpleXMLRPCServer
— Basic XML-RPC server - 20.25.
DocXMLRPCServer
— Self-documenting XML-RPC server
- 20.1.
- 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.5.
wave
— Read and write WAV files - 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.1.
- 22. Internationalization
- 23. Program Frameworks
- 24. Graphical User Interfaces with Tk
- 24.1.
Tkinter
— Python interface to Tcl/Tk - 24.2.
ttk
— Tk themed widgets - 24.3.
Tix
— Extension widgets for Tk - 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.3. Methods of RawTurtle/Turtle and corresponding functions
- 24.5.4. Methods of TurtleScreen/Screen and corresponding functions
- 24.5.5. The public classes of the module
turtle
- 24.5.6. Help and configuration
- 24.5.7. Demo scripts
- 24.6. IDLE
- 24.6.1. Menus
- 24.6.1.1. File menu (Shell and Editor)
- 24.6.1.2. Edit menu (Shell and Editor)
- 24.6.1.3. Format menu (Editor window only)
- 24.6.1.4. Run menu (Editor window only)
- 24.6.1.5. Shell menu (Shell window only)
- 24.6.1.6. Debug menu (Shell window only)
- 24.6.1.7. Options menu (Shell and Editor)
- 24.6.1.8. Window menu (Shell and Editor)
- 24.6.1.9. Help menu (Shell and Editor)
- 24.6.1.10. Context Menus
- 24.6.2. Editing and navigation
- 24.6.3. Startup and code execution
- 24.6.4. Help and preferences
- 24.6.1. Menus
- 24.7. Other Graphical User Interface Packages
- 24.1.
- 25. Development Tools
- 25.1.
pydoc
— Documentation generator and online help system - 25.2.
doctest
— Test interactive Python examples - 25.3.
unittest
— Unit testing framework - 25.4. 2to3 - Automated Python 2 to 3 code translation
- 25.5.
test
— Regression tests package for Python - 25.6.
test.test_support
— Utility functions for tests
- 25.1.
- 26. Debugging and Profiling
- 27. Software Packaging and Distribution
- 28. Python Runtime Services
- 28.1.
sys
— System-specific parameters and functions - 28.2.
sysconfig
— Provide access to Python’s configuration information - 28.3.
__builtin__
— Built-in objects - 28.4.
future_builtins
— Python 3 builtins - 28.5.
__main__
— Top-level script environment - 28.6.
warnings
— Warning control - 28.7.
contextlib
— Utilities forwith
-statement contexts - 28.8.
abc
— Abstract Base Classes - 28.9.
atexit
— Exit handlers - 28.10.
traceback
— Print or retrieve a stack traceback - 28.11.
__future__
— Future statement definitions - 28.12.
gc
— Garbage Collector interface - 28.13.
inspect
— Inspect live objects - 28.14.
site
— Site-specific configuration hook - 28.15.
user
— User-specific configuration hook - 28.16.
fpectl
— Floating point exception control
- 28.1.
- 29. Custom Python Interpreters
- 30. Restricted Execution
- 31. Importing Modules
- 31.1.
imp
— Access theimport
internals - 31.2.
importlib
– Convenience wrappers for__import__()
- 31.3.
imputil
— Import utilities - 31.4.
zipimport
— Import modules from Zip archives - 31.5.
pkgutil
— Package extension utility - 31.6.
modulefinder
— Find modules used by a script - 31.7.
runpy
— Locating and executing Python modules
- 31.1.
- 32. Python Language Services
- 32.1.
parser
— Access Python parse trees - 32.2.
ast
— Abstract Syntax Trees - 32.3.
symtable
— Access to the compiler’s symbol tables - 32.4.
symbol
— Constants used with Python parse trees - 32.5.
token
— Constants used with Python parse trees - 32.6.
keyword
— Testing for Python keywords - 32.7.
tokenize
— Tokenizer for Python source - 32.8.
tabnanny
— Detection of ambiguous indentation - 32.9.
pyclbr
— Python class browser support - 32.10.
py_compile
— Compile Python source files - 32.11.
compileall
— Byte-compile Python libraries - 32.12.
dis
— Disassembler for Python bytecode - 32.13.
pickletools
— Tools for pickle developers
- 32.1.
- 33. Python compiler package
- 34. Miscellaneous Services
- 35. MS Windows Specific Services
- 36. Unix Specific Services
- 36.1.
posix
— The most common POSIX system calls - 36.2.
pwd
— The password database - 36.3.
spwd
— The shadow password database - 36.4.
grp
— The group database - 36.5.
crypt
— Function to check Unix passwords - 36.6.
dl
— Call C functions in shared objects - 36.7.
termios
— POSIX style tty control - 36.8.
tty
— Terminal control functions - 36.9.
pty
— Pseudo-terminal utilities - 36.10.
fcntl
— Thefcntl
andioctl
system calls - 36.11.
pipes
— Interface to shell pipelines - 36.12.
posixfile
— File-like objects with locking support - 36.13.
resource
— Resource usage information - 36.14.
nis
— Interface to Sun’s NIS (Yellow Pages) - 36.15.
syslog
— Unix syslog library routines - 36.16.
commands
— Utilities for running commands
- 36.1.
- 37. Mac OS X specific services
- 37.1.
ic
— Access to the Mac OS X Internet Config - 37.2.
MacOS
— Access to Mac OS interpreter features - 37.3.
macostools
— Convenience routines for file manipulation - 37.4.
findertools
— The finder‘s Apple Events interface - 37.5.
EasyDialogs
— Basic Macintosh dialogs - 37.6.
FrameWork
— Interactive application framework - 37.7.
autoGIL
— Global Interpreter Lock handling in event loops - 37.8. Mac OS Toolbox Modules
- 37.8.1.
Carbon.AE
— Apple Events - 37.8.2.
Carbon.AH
— Apple Help - 37.8.3.
Carbon.App
— Appearance Manager - 37.8.4.
Carbon.Appearance
— Appearance Manager constants - 37.8.5.
Carbon.CF
— Core Foundation - 37.8.6.
Carbon.CG
— Core Graphics - 37.8.7.
Carbon.CarbonEvt
— Carbon Event Manager - 37.8.8.
Carbon.CarbonEvents
— Carbon Event Manager constants - 37.8.9.
Carbon.Cm
— Component Manager - 37.8.10.
Carbon.Components
— Component Manager constants - 37.8.11.
Carbon.ControlAccessor
— Control Manager accssors - 37.8.12.
Carbon.Controls
— Control Manager constants - 37.8.13.
Carbon.CoreFounation
— CoreFounation constants - 37.8.14.
Carbon.CoreGraphics
— CoreGraphics constants - 37.8.15.
Carbon.Ctl
— Control Manager - 37.8.16.
Carbon.Dialogs
— Dialog Manager constants - 37.8.17.
Carbon.Dlg
— Dialog Manager - 37.8.18.
Carbon.Drag
— Drag and Drop Manager - 37.8.19.
Carbon.Dragconst
— Drag and Drop Manager constants - 37.8.20.
Carbon.Events
— Event Manager constants - 37.8.21.
Carbon.Evt
— Event Manager - 37.8.22.
Carbon.File
— File Manager - 37.8.23.
Carbon.Files
— File Manager constants - 37.8.24.
Carbon.Fm
— Font Manager - 37.8.25.
Carbon.Folder
— Folder Manager - 37.8.26.
Carbon.Folders
— Folder Manager constants - 37.8.27.
Carbon.Fonts
— Font Manager constants - 37.8.28.
Carbon.Help
— Help Manager - 37.8.29.
Carbon.IBCarbon
— Carbon InterfaceBuilder - 37.8.30.
Carbon.IBCarbonRuntime
— Carbon InterfaceBuilder constants - 37.8.31.
Carbon.Icn
— Carbon Icon Manager - 37.8.32.
Carbon.Icons
— Carbon Icon Manager constants - 37.8.33.
Carbon.Launch
— Carbon Launch Services - 37.8.34.
Carbon.LaunchServices
— Carbon Launch Services constants - 37.8.35.
Carbon.List
— List Manager - 37.8.36.
Carbon.Lists
— List Manager constants - 37.8.37.
Carbon.MacHelp
— Help Manager constants - 37.8.38.
Carbon.MediaDescr
— Parsers and generators for Quicktime Media descriptors - 37.8.39.
Carbon.Menu
— Menu Manager - 37.8.40.
Carbon.Menus
— Menu Manager constants - 37.8.41.
Carbon.Mlte
— MultiLingual Text Editor - 37.8.42.
Carbon.OSA
— Carbon OSA Interface - 37.8.43.
Carbon.OSAconst
— Carbon OSA Interface constants - 37.8.44.
Carbon.QDOffscreen
— QuickDraw Offscreen constants - 37.8.45.
Carbon.Qd
— QuickDraw - 37.8.46.
Carbon.Qdoffs
— QuickDraw Offscreen - 37.8.47.
Carbon.Qt
— QuickTime - 37.8.48.
Carbon.QuickDraw
— QuickDraw constants - 37.8.49.
Carbon.QuickTime
— QuickTime constants - 37.8.50.
Carbon.Res
— Resource Manager and Handles - 37.8.51.
Carbon.Resources
— Resource Manager and Handles constants - 37.8.52.
Carbon.Scrap
— Scrap Manager - 37.8.53.
Carbon.Snd
— Sound Manager - 37.8.54.
Carbon.Sound
— Sound Manager constants - 37.8.55.
Carbon.TE
— TextEdit - 37.8.56.
Carbon.TextEdit
— TextEdit constants - 37.8.57.
Carbon.Win
— Window Manager - 37.8.58.
Carbon.Windows
— Window Manager constants
- 37.8.1.
- 37.9.
ColorPicker
— Color selection dialog
- 37.1.
- 38. MacPython OSA Modules
- 39. SGI IRIX Specific Services
- 39.1.
al
— Audio functions on the SGI - 39.2.
AL
— Constants used with theal
module - 39.3.
cd
— CD-ROM access on SGI systems - 39.4.
fl
— FORMS library for graphical user interfaces - 39.5.
FL
— Constants used with thefl
module - 39.6.
flp
— Functions for loading stored FORMS designs - 39.7.
fm
— Font Manager interface - 39.8.
gl
— Graphics Library interface - 39.9.
DEVICE
— Constants used with thegl
module - 39.10.
GL
— Constants used with thegl
module - 39.11.
imgfile
— Support for SGI imglib files - 39.12.
jpeg
— Read and write JPEG files
- 39.1.
- 40. SunOS Specific Services
- 41. Undocumented Modules
- 41.1. Miscellaneous useful utilities
- 41.2. Platform specific modules
- 41.3. Multimedia
- 41.4. Undocumented Mac OS modules
- 41.4.1.
applesingle
— AppleSingle decoder - 41.4.2.
buildtools
— Helper module for BuildApplet and Friends - 41.4.3.
cfmfile
— Code Fragment Resource module - 41.4.4.
icopen
— Internet Config replacement foropen()
- 41.4.5.
macerrors
— Mac OS Errors - 41.4.6.
macresource
— Locate script resources - 41.4.7.
Nav
— NavServices calls - 41.4.8.
PixMapWrapper
— Wrapper for PixMap objects - 41.4.9.
videoreader
— Read QuickTime movies - 41.4.10.
W
— Widgets built onFrameWork
- 41.4.1.
- 41.5. Obsolete
- 41.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.11. Writing Extensions in C++
- 1.12. Providing a C API for an Extension Module
- 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
- 1. 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
- Installing Python Modules
- Python HOWTOs
- Porting Python 2 Code to Python 3
- The Short Explanation
- Details
- Drop support for Python 2.5 and older (at least)
- Make sure you specify the proper version support in your
setup.py
file - Have good test coverage
- Learn the differences between Python 2 & 3
- Update your code
- Prevent compatibility regressions
- Check which dependencies block your transition
- Update your
setup.py
file to denote Python 3 compatibility - Use continuous integration to stay compatible
- Dropping Python 2 support completely
- Porting Extension Modules to Python 3
- Curses Programming with Python
- Descriptor HowTo Guide
- Idioms and Anti-Idioms in Python
- Functional Programming HOWTO
- Logging HOWTO
- 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
- Logging to a single file from multiple processes
- Using file rotation
- An example dictionary-based configuration
- Inserting a BOM into messages sent to a SysLogHandler
- Implementing structured logging
- Customizing handlers with
dictConfig()
- Configuring filters with
dictConfig()
- Customized exception formatting
- Speaking logging messages
- Buffering logging messages and outputting them conditionally
- Formatting times using UTC (GMT) via configuration
- Regular Expression HOWTO
- Socket Programming HOWTO
- Sorting HOW TO
- Unicode HOWTO
- HOWTO Fetch Internet Resources Using urllib2
- HOWTO Use Python in the web
- Argparse Tutorial
- Porting Python 2 Code to Python 3
- 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 expressions 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 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?
- How do I make an executable from a Python script?
- Is a
*.pyd
file the same as a DLL? - How can I embed Python into a Windows application?
- 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?
- How do I extract the downloaded documentation on Windows?
- Graphic User Interface FAQ
- “Why is Python Installed on my Computer?” FAQ
- Glossary
- About these documents
- Reporting Bugs
- Copyright
- History and License