- 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
- 1. Introduction
- 2. Lexical analysis
- 3. Data model
- 4. Execution model
- 5. The import system
- 6. Expressions
- 6.1. Arithmetic conversions
- 6.2. Atoms
- 6.3. Primaries
- 6.4. The power operator
- 6.5. Unary arithmetic and bitwise operations
- 6.6. Binary arithmetic operations
- 6.7. Shifting operations
- 6.8. Binary bitwise operations
- 6.9. Comparisons
- 6.10. Boolean operations
- 6.11. Conditional expressions
- 6.12. Lambdas
- 6.13. Expression lists
- 6.14. Evaluation order
- 6.15. Operator precedence
- 7. Simple statements
- 7.1. Expression statements
- 7.2. Assignment statements
- 7.3. The assert statement
- 7.4. The pass statement
- 7.5. The del statement
- 7.6. The return statement
- 7.7. The yield statement
- 7.8. The raise statement
- 7.9. The break statement
- 7.10. The continue statement
- 7.11. The import statement
- 7.12. The global statement
- 7.13. The nonlocal statement
- 8. Compound statements
- 9. Top-level components
- 10. Full Grammar specification
- 1. Introduction
- 2. Built-in Functions
- 3. Built-in Constants
- 4. Built-in Types
- 4.1. Truth Value Testing
- 4.2. Boolean Operations — and, or, not
- 4.3. Comparisons
- 4.4. Numeric Types — int, float, complex
- 4.5. Iterator Types
- 4.6. Sequence Types — list, tuple, range
- 4.7. Text Sequence Type — str
- 4.8. Binary Sequence Types — bytes, bytearray, memoryview
- 4.9. Set Types — set, frozenset
- 4.10. Mapping Types — dict
- 4.11. Context Manager Types
- 4.12. Other Built-in Types
- 4.13. Special Attributes
- 5. Built-in Exceptions
- 6. Text Processing Services
- 6.1. string — Common string operations
- 6.2. re — Regular expression operations
- 6.3. difflib — Helpers for computing deltas
- 6.4. textwrap — Text wrapping and filling
- 6.5. unicodedata — Unicode Database
- 6.6. stringprep — Internet String Preparation
- 6.7. readline — GNU readline interface
- 6.8. rlcompleter — Completion function for GNU readline
- 7. Binary Data Services
- 8. Data Types
- 8.1. datetime — Basic date and time types
- 8.2. calendar — General calendar-related functions
- 8.3. collections — Container datatypes
- 8.4. collections.abc — Abstract Base Classes for Containers
- 8.5. heapq — Heap queue algorithm
- 8.6. bisect — Array bisection algorithm
- 8.7. array — Efficient arrays of numeric values
- 8.8. weakref — Weak references
- 8.9. types — Dynamic type creation and names for built-in types
- 8.10. copy — Shallow and deep copy operations
- 8.11. pprint — Data pretty printer
- 8.12. reprlib — Alternate repr() implementation
- 9. Numeric and Mathematical Modules
- 10. Functional Programming Modules
- 11. File and Directory Access
- 11.1. os.path — Common pathname manipulations
- 11.2. fileinput — Iterate over lines from multiple input streams
- 11.3. stat — Interpreting stat() results
- 11.4. filecmp — File and Directory Comparisons
- 11.5. tempfile — Generate temporary files and directories
- 11.6. glob — Unix style pathname pattern expansion
- 11.7. fnmatch — Unix filename pattern matching
- 11.8. linecache — Random access to text lines
- 11.9. shutil — High-level file operations
- 11.10. macpath — Mac OS 9 path manipulation functions
- 12. Data Persistence
- 13. Data Compression and Archiving
- 14. File Formats
- 15. Cryptographic Services
- 16. Generic Operating System Services
- 16.1. os — Miscellaneous operating system interfaces
- 16.2. io — Core tools for working with streams
- 16.3. time — Time access and conversions
- 16.4. argparse — Parser for command-line options, arguments and sub-commands
- 16.5. optparse — Parser for command line options
- 16.6. getopt — C-style parser for command line options
- 16.7. logging — Logging facility for Python
- 16.8. logging.config — Logging configuration
- 16.9. logging.handlers — Logging handlers
- 16.10. getpass — Portable password input
- 16.11. curses — Terminal handling for character-cell displays
- 16.12. curses.textpad — Text input widget for curses programs
- 16.13. curses.ascii — Utilities for ASCII characters
- 16.14. curses.panel — A panel stack extension for curses
- 16.15. platform — Access to underlying platform’s identifying data
- 16.16. errno — Standard errno system symbols
- 16.17. ctypes — A foreign function library for Python
- 17. Concurrent Execution
- 17.1. threading — Thread-based parallelism
- 17.2. multiprocessing — Process-based parallelism
- 17.3. The concurrent package
- 17.4. concurrent.futures — Launching parallel tasks
- 17.5. subprocess — Subprocess management
- 17.6. sched — Event scheduler
- 17.7. queue — A synchronized queue class
- 17.8. select — Waiting for I/O completion
- 17.9. dummy_threading — Drop-in replacement for the threading module
- 17.10. _thread — Low-level threading API
- 17.11. _dummy_thread — Drop-in replacement for the _thread module
- 18. Interprocess Communication and Networking
- 19. Internet Data Handling
- 19.1. email — An email and MIME handling package
- 19.2. json — JSON encoder and decoder
- 19.3. mailcap — Mailcap file handling
- 19.4. mailbox — Manipulate mailboxes in various formats
- 19.5. mimetypes — Map filenames to MIME types
- 19.6. base64 — RFC 3548: Base16, Base32, Base64 Data Encodings
- 19.7. binhex — Encode and decode binhex4 files
- 19.8. binascii — Convert between binary and ASCII
- 19.9. quopri — Encode and decode MIME quoted-printable data
- 19.10. uu — Encode and decode uuencode files
- 20. Structured Markup Processing Tools
- 20.1. html — HyperText Markup Language support
- 20.2. html.parser — Simple HTML and XHTML parser
- 20.3. html.entities — Definitions of HTML general entities
- 20.4. XML Processing Modules
- 20.5. XML vulnerabilities
- 20.6. xml.etree.ElementTree — The ElementTree XML API
- 20.7. xml.dom — The Document Object Model API
- 20.8. xml.dom.minidom — Minimal DOM implementation
- 20.9. xml.dom.pulldom — Support for building partial DOM trees
- 20.10. xml.sax — Support for SAX2 parsers
- 20.11. xml.sax.handler — Base classes for SAX handlers
- 20.12. xml.sax.saxutils — SAX Utilities
- 20.13. xml.sax.xmlreader — Interface for XML parsers
- 20.14. xml.parsers.expat — Fast XML parsing using Expat
- 21. Internet Protocols and Support
- 21.1. webbrowser — Convenient Web-browser controller
- 21.2. cgi — Common Gateway Interface support
- 21.3. cgitb — Traceback manager for CGI scripts
- 21.4. wsgiref — WSGI Utilities and Reference Implementation
- 21.5. urllib — URL handling modules
- 21.6. urllib.request — Extensible library for opening URLs
- 21.7. urllib.response — Response classes used by urllib
- 21.8. urllib.parse — Parse URLs into components
- 21.9. urllib.error — Exception classes raised by urllib.request
- 21.10. urllib.robotparser — Parser for robots.txt
- 21.11. http — HTTP modules
- 21.12. http.client — HTTP protocol client
- 21.13. ftplib — FTP protocol client
- 21.14. poplib — POP3 protocol client
- 21.15. imaplib — IMAP4 protocol client
- 21.16. nntplib — NNTP protocol client
- 21.17. smtplib — SMTP protocol client
- 21.18. smtpd — SMTP Server
- 21.19. telnetlib — Telnet client
- 21.20. uuid — UUID objects according to RFC 4122
- 21.21. socketserver — A framework for network servers
- 21.22. http.server — HTTP servers
- 21.23. http.cookies — HTTP state management
- 21.24. http.cookiejar — Cookie handling for HTTP clients
- 21.25. xmlrpc — XMLRPC server and client modules
- 21.26. xmlrpc.client — XML-RPC client access
- 21.27. xmlrpc.server — Basic XML-RPC servers
- 21.28. ipaddress — IPv4/IPv6 manipulation library
- 22. Multimedia Services
- 22.1. audioop — Manipulate raw audio data
- 22.2. aifc — Read and write AIFF and AIFC files
- 22.3. sunau — Read and write Sun AU files
- 22.4. wave — Read and write WAV files
- 22.5. chunk — Read IFF chunked data
- 22.6. colorsys — Conversions between color systems
- 22.7. imghdr — Determine the type of an image
- 22.8. sndhdr — Determine type of sound file
- 22.9. ossaudiodev — Access to OSS-compatible audio devices
- 23. Internationalization
- 24. Program Frameworks
- 25. Graphical User Interfaces with Tk
- 26. Development Tools
- 26.1. pydoc — Documentation generator and online help system
- 26.2. doctest — Test interactive Python examples
- 26.3. unittest — Unit testing framework
- 26.4. unittest.mock — mock object library
- 26.5. unittest.mock — getting started
- 26.6. 2to3 - Automated Python 2 to 3 code translation
- 26.7. test — Regression tests package for Python
- 26.8. test.support — Utilities for the Python test suite
- 26.9. venv — Creation of virtual environments
- 27. Debugging and Profiling
- 28. Python Runtime Services
- 28.1. sys — System-specific parameters and functions
- 28.2. sysconfig — Provide access to Python’s configuration information
- 28.3. builtins — Built-in objects
- 28.4. __main__ — Top-level script environment
- 28.5. warnings — Warning control
- 28.6. contextlib — Utilities for with-statement contexts
- 28.7. abc — Abstract Base Classes
- 28.8. atexit — Exit handlers
- 28.9. traceback — Print or retrieve a stack traceback
- 28.10. __future__ — Future statement definitions
- 28.11. gc — Garbage Collector interface
- 28.12. inspect — Inspect live objects
- 28.13. site — Site-specific configuration hook
- 28.14. fpectl — Floating point exception control
- 28.15. distutils — Building and installing Python modules
- 29. Custom Python Interpreters
- 30. Importing Modules
- 31. Python Language Services
- 31.1. parser — Access Python parse trees
- 31.2. ast — 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. Miscellaneous Services
- 33. MS Windows Specific Services
- 34. Unix Specific Services
- 34.1. posix — The most common POSIX system calls
- 34.2. pwd — The password database
- 34.3. spwd — The shadow password database
- 34.4. grp — The group database
- 34.5. crypt — Function to check Unix passwords
- 34.6. termios — POSIX style tty control
- 34.7. tty — Terminal control functions
- 34.8. pty — Pseudo-terminal utilities
- 34.9. fcntl — The fcntl() and ioctl() system calls
- 34.10. pipes — Interface to shell pipelines
- 34.11. resource — Resource usage information
- 34.12. nis — Interface to Sun’s NIS (Yellow Pages)
- 34.13. syslog — Unix syslog library routines
- 35. Undocumented Modules
- 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
- __future__
- __main__
- _dummy_thread
- _thread
- abc
- aifc
- argparse
- array
- ast
- asynchat
- asyncore
- atexit
- audioop
- base64
- bdb
- binascii
- binhex
- bisect
- builtins
- bz2
- calendar
- cgi
- cgitb
- chunk
- cmath
- cmd
- code
- codecs
- codeop
- collections
- collections.abc
- colorsys
- compileall
- concurrent.futures
- configparser
- contextlib
- copy
- copyreg
- cProfile
- crypt (Unix)
- csv
- ctypes
- curses (Unix)
- curses.ascii
- curses.panel
- curses.textpad
- datetime
- dbm
- dbm.dumb
- dbm.gnu (Unix)
- dbm.ndbm (Unix)
- decimal
- difflib
- dis
- distutils
- distutils.archive_util
- distutils.bcppcompiler
- distutils.ccompiler
- distutils.cmd
- distutils.command
- distutils.command.bdist
- distutils.command.bdist_dumb
- distutils.command.bdist_msi
- distutils.command.bdist_packager
- distutils.command.bdist_rpm
- distutils.command.bdist_wininst
- distutils.command.build
- distutils.command.build_clib
- distutils.command.build_ext
- distutils.command.build_py
- distutils.command.build_scripts
- distutils.command.check
- distutils.command.clean
- distutils.command.config
- distutils.command.install
- distutils.command.install_data
- distutils.command.install_headers
- distutils.command.install_lib
- distutils.command.install_scripts
- distutils.command.register
- distutils.command.sdist
- distutils.core
- distutils.cygwinccompiler
- distutils.debug
- distutils.dep_util
- distutils.dir_util
- distutils.dist
- distutils.emxccompiler
- distutils.errors
- distutils.extension
- distutils.fancy_getopt
- distutils.file_util
- distutils.filelist
- distutils.log
- distutils.msvccompiler
- distutils.spawn
- distutils.sysconfig
- distutils.text_file
- distutils.unixccompiler
- distutils.util
- distutils.version
- doctest
- dummy_threading
- email.charset
- email.encoders
- email.errors
- email.generator
- email.header
- email.headerregistry
- email.iterators
- email.message
- email.mime
- email.parser
- email.policy
- email.utils
- encodings.idna
- encodings.mbcs
- encodings.utf_8_sig
- errno
- faulthandler
- fcntl (Unix)
- filecmp
- fileinput
- fnmatch
- formatter
- fpectl (Unix)
- fractions
- ftplib
- functools
- gc
- getopt
- getpass
- gettext
- glob
- grp (Unix)
- gzip
- hashlib
- heapq
- hmac
- html
- html.entities
- html.parser
- http.client
- http.cookiejar
- http.cookies
- http.server
- imaplib
- imghdr
- imp
- importlib
- importlib.abc
- importlib.machinery
- importlib.util
- inspect
- io
- ipaddress
- itertools
- json
- keyword
- lib2to3
- linecache
- locale
- logging
- logging.config
- logging.handlers
- lzma
- macpath
- mailbox
- mailcap
- marshal
- math
- mimetypes
- mmap
- modulefinder
- msilib (Windows)
- msvcrt (Windows)
- multiprocessing
- multiprocessing.connection
- multiprocessing.dummy
- multiprocessing.managers
- multiprocessing.pool
- multiprocessing.sharedctypes
- netrc
- nis (Unix)
- nntplib
- numbers
- operator
- optparse
- os
- os.path
- ossaudiodev (Linux, FreeBSD)
- parser
- pdb
- pickle
- pickletools
- pipes (Unix)
- pkgutil
- platform
- plistlib
- poplib
- posix (Unix)
- pprint
- profile
- pstats
- pty (Linux)
- pwd (Unix)
- py_compile
- pyclbr
- pydoc
- queue
- quopri
- random
- re
- readline (Unix)
- reprlib
- resource (Unix)
- rlcompleter
- runpy
- sched
- select
- shelve
- shlex
- shutil
- signal
- site
- smtpd
- smtplib
- sndhdr
- socket
- socketserver
- spwd (Unix)
- sqlite3
- ssl
- stat
- string
- stringprep
- struct
- subprocess
- sunau
- symbol
- symtable
- sys
- sysconfig
- syslog (Unix)
- tabnanny
- tarfile
- telnetlib
- tempfile
- termios (Unix)
- test
- test.support
- textwrap
- threading
- time
- timeit
- tkinter
- tkinter.scrolledtext (Tk)
- tkinter.tix
- tkinter.ttk
- token
- tokenize
- trace
- traceback
- tty (Unix)
- turtle
- types
- unicodedata
- unittest
- unittest.mock
- urllib.error
- urllib.parse
- urllib.request
- urllib.response
- urllib.robotparser
- uu
- uuid
- venv
- warnings
- wave
- weakref
- webbrowser
- winreg (Windows)
- winsound (Windows)
- wsgiref
- wsgiref.handlers
- wsgiref.headers
- wsgiref.simple_server
- wsgiref.util
- wsgiref.validate
- xdrlib
- xml
- xml.dom
- xml.dom.minidom
- xml.dom.pulldom
- xml.etree.ElementTree
- xml.parsers.expat
- xml.parsers.expat.errors
- xml.parsers.expat.model
- xml.sax
- xml.sax.handler
- xml.sax.saxutils
- xml.sax.xmlreader
- xmlrpc.client
- xmlrpc.server
- zipfile
- zipimport
- zlib