Python 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
- 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
- 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
- Using Python
- 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
- 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. Summary
- 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, 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 of StringIO
- 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
- 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 — Alternate repr() implementation
- 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
- 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.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
- 11. Data Persistence
- 11.1. pickle — Python object serialization
- 11.2. cPickle — A faster pickle
- 11.3. copy_reg — Register pickle 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
- 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. Logging tutorial
- 15.7.2. Logging Levels
- 15.7.3. Useful Handlers
- 15.7.4. Module-Level Functions
- 15.7.5. Logger Objects
- 15.7.6. Basic example
- 15.7.7. Logging to multiple destinations
- 15.7.8. Exceptions raised during logging
- 15.7.9. Adding contextual information to your logging output
- 15.7.10. Logging to a single file from multiple processes
- 15.7.11. Sending and receiving logging events across a network
- 15.7.12. Using arbitrary objects as messages
- 15.7.13. Optimization
- 15.7.14. Handler Objects
- 15.7.14.1. StreamHandler
- 15.7.14.2. FileHandler
- 15.7.14.3. NullHandler
- 15.7.14.4. WatchedFileHandler
- 15.7.14.5. RotatingFileHandler
- 15.7.14.6. TimedRotatingFileHandler
- 15.7.14.7. SocketHandler
- 15.7.14.8. DatagramHandler
- 15.7.14.9. SysLogHandler
- 15.7.14.10. NTEventLogHandler
- 15.7.14.11. SMTPHandler
- 15.7.14.12. MemoryHandler
- 15.7.14.13. HTTPHandler
- 15.7.15. Formatter Objects
- 15.7.16. Filter Objects
- 15.7.17. LogRecord Objects
- 15.7.18. LoggerAdapter Objects
- 15.7.19. Thread Safety
- 15.7.20. Integration with the warnings module
- 15.7.21. Configuration
- 15.7.22. More examples
- 15.8. getpass — Portable password input
- 15.9. curses — Terminal handling for character-cell displays
- 15.10. curses.textpad — Text input widget for curses programs
- 15.11. curses.wrapper — Terminal handler for curses programs
- 15.12. curses.ascii — Utilities for ASCII characters
- 15.13. curses.panel — A panel stack extension for curses
- 15.14. platform — Access to underlying platform’s identifying data
- 15.15. errno — Standard errno system symbols
- 15.16. ctypes — A foreign function library for Python
- 15.16.1. ctypes tutorial
- 15.16.1.1. Loading dynamic link libraries
- 15.16.1.2. Accessing functions from loaded dlls
- 15.16.1.3. Calling functions
- 15.16.1.4. Fundamental data types
- 15.16.1.5. Calling functions, continued
- 15.16.1.6. Calling functions with your own custom data types
- 15.16.1.7. Specifying the required argument types (function prototypes)
- 15.16.1.8. Return types
- 15.16.1.9. Passing pointers (or: passing parameters by reference)
- 15.16.1.10. Structures and unions
- 15.16.1.11. Structure/union alignment and byte order
- 15.16.1.12. Bit fields in structures and unions
- 15.16.1.13. Arrays
- 15.16.1.14. Pointers
- 15.16.1.15. Type conversions
- 15.16.1.16. Incomplete Types
- 15.16.1.17. Callback functions
- 15.16.1.18. Accessing values exported from dlls
- 15.16.1.19. Surprises
- 15.16.1.20. Variable-sized data types
- 15.16.2. ctypes reference
- 15.16.1. ctypes tutorial
- 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 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.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.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
- 17. Interprocess Communication and Networking
- 17.1. subprocess — Subprocess management
- 17.2. socket — Low-level networking interface
- 17.3. ssl — 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
- 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.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.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. email — An email and MIME handling package
- 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.parsers.expat — Fast XML parsing using Expat
- 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.7. xml.dom.minidom — Lightweight DOM implementation
- 19.8. xml.dom.pulldom — Support for building partial DOM trees
- 19.9. xml.sax — Support for SAX2 parsers
- 19.10. xml.sax.handler — Base classes for SAX handlers
- 19.11. xml.sax.saxutils — SAX Utilities
- 19.12. xml.sax.xmlreader — Interface for XML parsers
- 19.13. xml.etree.ElementTree — The ElementTree XML API
- 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
- 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
- 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.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.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
- 26. Debugging and Profiling
- 27. Python Runtime Services
- 27.1. sys — System-specific parameters and functions
- 27.2. sysconfig — Provide access to Python’s configuration information
- 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.7. contextlib — Utilities for with-statement contexts
- 27.8. abc — Abstract Base Classes
- 27.9. atexit — Exit handlers
- 27.10. traceback — Print or retrieve a stack traceback
- 27.11. __future__ — Future statement definitions
- 27.12. gc — Garbage Collector interface
- 27.13. inspect — Inspect live objects
- 27.14. site — Site-specific configuration hook
- 27.15. user — User-specific configuration hook
- 27.16. fpectl — Floating point exception control
- 27.17. distutils — Building and installing Python modules
- 28. Custom Python Interpreters
- 29. Restricted Execution
- 30. Importing Modules
- 30.1. imp — Access the import internals
- 30.2. importlib – Convenience wrappers for __import__()
- 30.3. imputil — Import utilities
- 30.4. zipimport — Import modules from Zip archives
- 30.5. pkgutil — Package extension utility
- 30.6. modulefinder — Find modules used by a script
- 30.7. runpy — Locating and executing Python modules
- 31. Python Language Services
- 31.1. parser — Access Python parse trees
- 31.2. Abstract Syntax Trees
- 31.3. symtable — Access to the compiler’s 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.10. py_compile — Compile Python source files
- 31.11. compileall — Byte-compile Python libraries
- 31.12. dis — Disassembler for Python bytecode
- 31.13. pickletools — Tools for pickle developers
- 32. Python compiler package
- 33. Miscellaneous Services
- 34. MS Windows Specific Services
- 35. Unix Specific Services
- 35.1. posix — The most common POSIX system calls
- 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.7. termios — POSIX style tty control
- 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.12. posixfile — File-like objects with locking support
- 35.13. resource — Resource usage information
- 35.14. nis — Interface to Sun’s NIS (Yellow Pages)
- 35.15. syslog — Unix syslog library routines
- 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.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.6. FrameWork — Interactive application framework
- 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
- 38. SGI IRIX Specific Services
- 38.1. al — Audio functions on the SGI
- 38.2. AL — Constants used with the al module
- 38.3. cd — CD-ROM access on SGI systems
- 38.4. fl — FORMS library for graphical user interfaces
- 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
- 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.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
- 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
- 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. distutils.command — Individual Distutils commands
- 11.26. distutils.command.bdist — Build a binary installer
- 11.27. distutils.command.bdist_packager — Abstract base class for packagers
- 11.28. distutils.command.bdist_dumb — Build a “dumb” installer
- 11.29. distutils.command.bdist_msi — Build a Microsoft Installer binary package
- 11.30. distutils.command.bdist_rpm — Build a binary distribution as a Redhat RPM and SRPM
- 11.31. distutils.command.bdist_wininst — Build a Windows installer
- 11.32. distutils.command.sdist — Build a source distribution
- 11.33. distutils.command.build — Build all files of a package
- 11.34. distutils.command.build_clib — Build any C libraries in a package
- 11.35. distutils.command.build_ext — Build any extensions in a package
- 11.36. distutils.command.build_py — Build the .py/.pyc files of a package
- 11.37. distutils.command.build_scripts — Build the scripts of a package
- 11.38. distutils.command.clean — Clean a package build area
- 11.39. distutils.command.config — Perform package configuration
- 11.40. distutils.command.install — Install a package
- 11.41. distutils.command.install_data — Install data files from a package
- 11.42. distutils.command.install_headers — Install C/C++ header files from a package
- 11.43. distutils.command.install_lib — Install library files from a package
- 11.44. distutils.command.install_scripts — Install script files from a package
- 11.45. distutils.command.register — Register a module with the Python Package Index
- 11.46. 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
- 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