Tables xxxi
Foreword xxxiii
Acknowledgments xxxvii
About the Author xxxix
Introduction 1
Chapter 1: Text 3
1.1 string-Text Constants and Templates 4
1.2 textwrap-Formatting Text Paragraphs 9
1.3 re-Regular Expressions 13
1.4 difflib-Compare Sequences 61
Chapter 2: Data Structures 69
2.1 collections-Container Data Types 70
2.2 array-Sequence of Fixed-Type Data 84
2.3 heapq-Heap Sort Algorithm 87
2.4 bisect-Maintain Lists in Sorted Order 93
2.5 Queue-Thread-Safe FIFO Implementation 96
2.6 struct-Binary Data Structures 102
2.7 weakref-Impermanent References to Objects 106
2.8 copy-Duplicate Objects 117
2.9 pprint-Pretty-Print Data Structures 123
Chapter 3: Algorithms 129
3.1 functools-Tools for Manipulating Functions 129
3.2 itertools-Iterator Functions 141
3.3 operator-Functional Interface to Built-in Operators 153
3.4 contextlib-Context Manager Utilities 163
Chapter 4: Dates and Times 173
4.1 time-Clock Time 173
4.2 datetime-Date and Time Value Manipulation 180
4.3 calendar-Work with Dates 191
Chapter 5: Mathematics 197
5.1 decimal-Fixed and Floating-Point Math 197
5.2 fractions-Rational Numbers 207
5.3 random-Pseudorandom Number Generators 211
5.4 math-Mathematical Functions 223
Chapter 6: The File System 247
6.1 os.path-Platform-Independent Manipulation of Filenames 248
6.2 glob-Filename Pattern Matching 257
6.3 linecache-Read Text Files Efficiently 261
6.4 tempfile-Temporary File System Objects 265
6.5 shutil-High-Level File Operations 271
6.6 mmap-Memory-Map Files 279
6.7 codecs-String Encoding and Decoding 284
6.8 StringIO-Text Buffers with a File-like API 314
6.9 fnmatch-UNIX-Style Glob Pattern Matching 315
6.10 dircache-Cache Directory Listings 319
6.11 filecmp-Compare Files 322
Chapter 7: Data Persistence and Exchange 333
7.1 pickle-Object Serialization 334
7.2 shelve-Persistent Storage of Objects 343
7.3 anydbm-DBM-Style Databases 347
7.4 whichdb-Identify DBM-Style Database Formats 350
7.5 sqlite3-Embedded Relational Database 351
7.6 xml.etree.ElementTree-XML Manipulation API 387
7.7 csv-Comma-Separated Value Files 411
Chapter 8: Data Compression and Archiving 421
8.1 zlib-GNU zlib Compression 421
8.2 gzip-Read and Write GNU Zip Files 430
8.3 bz2-bzip2 Compression 436
8.4 tarfile-Tar Archive Access 448
8.5 zipfile-ZIP Archive Access 457
Chapter 9: Cryptography 469
9.1 hashlib-Cryptographic Hashing 469
9.2 hmac-Cryptographic Message Signing and Verification 473
Chapter 10: Processes and Threads 481
10.1 subprocess-Spawning Additional Processes 481
10.2 signal-Asynchronous System Events 497
10.3 threading-Manage Concurrent Operations 505
10.4 multiprocessing-Manage Processes like Threads 529
Chapter 11: Networking 561
11.1 socket-Network Communication 561
11.2 select-Wait for I/O Efficiently 594
11.3 SocketServer-Creating Network Servers 609
11.4 asyncore-Asynchronous I/O 619
11.5 asynchat-Asynchronous Protocol Handler 629
Chapter 12: The Internet 637
12.1 urlparse-Split URLs into Components 638
12.2 BaseHTTPServer-Base Classes for Implementing Web Servers 644
12.3 urllib-Network Resource Access 651
12.4 urllib2-Network Resource Access 657
12.5 base64-Encode Binary Data with ASCII 670
12.6 robotparser-Internet Spider Access Control 674
12.7 Cookie-HTTP Cookies 677
12.8 uuid-Universally Unique Identifiers 684
12.9 json-JavaScript Object Notation 690
12.10 xmlrpclib-Client Library for XML-RPC 702
12.11 SimpleXMLRPCServer-An XML-RPC Server 714
Chapter 13: Email 727
13.1 smtplib-Simple Mail Transfer Protocol Client 727
13.2 smtpd-Sample Mail Servers 734
13.3 imaplib-IMAP4 Client Library 738
13.4 mailbox-Manipulate Email Archives 758
Chapter 14: Application Building Blocks 769
14.1 getopt-Command-Line Option Parsing 770
14.2 optparse-Command-Line Option Parser 777
14.3 argparse-Command-Line Option and Argument Parsing 795
14.4 readline-The GNU Readline Library 823
14.5 getpass-Secure Password Prompt 836
14.6 cmd-Line-Oriented Command Processors 839
14.7 shlex-Parse Shell-Style Syntaxes 852
14.8 ConfigParser-Work with Configuration Files 861
14.9 logging-Report Status, Error, and Informational Messages 878
14.10 fileinput-Command-Line Filter Framework 883
14.11 atexit-Program Shutdown Callbacks 890
14.12 sched-Timed Event Scheduler 894
Chapter 15: Internationalization and Localization 899
15.1 gettext-Message Catalogs 899
15.2 locale-Cultural Localization API 909
Chapter 16: Developer Tools 919
16.1 pydoc-Online Help for Modules 920
16.2 doctest-Testing through Documentation 921
16.3 unittest-Automated Testing Framework 949
16.4 traceback-Exceptions and Stack Traces 958
16.5 cgitb-Detailed Traceback Reports 965
16.6 pdb-Interactive Debugger 975
16.7 trace-Follow Program Flow 1012
16.8 profile and pstats-Performance Analysis 1022
16.9 timeit-Time the Execution of Small Bits of Python Code 1031
16.10 compileall-Byte-Compile Source Files 1037
16.11 pyclbr-Class Browser 1039
Chapter 17: Runtime Features 1045
17.1 site-Site-Wide Configuration 1046
17.2 sys-System-Specific Configuration 1055
17.3 os-Portable Access to Operating System Specific Features 1108
17.4 platform-System Version Information 1129
17.5 resource-System Resource Management 1134
17.6 gc-Garbage Collector 1138
17.7 sysconfig-Interpreter Compile-Time Configuration 1160
Chapter 18: Language Tools 1169
18.1 warnings-Nonfatal Alerts 1170
18.2 abc-Abstract Base Classes 1178
18.3 dis-Python Bytecode Disassembler 1186
18.4 inspect-Inspect Live Objects 1200
18.5 exceptions-Built-in Exception Classes 1216
Chapter 19: Modules and Packages 1235
19.1 imp-Python's Import Mechanism 1235
19.2 zipimport-Load Python Code from ZIP Archives 1240
19.3 pkgutil-Package Utilities 1247
Index of Python Modules 1259
Index 1261