Register your product to gain access to bonus material or receive a coupon.
“Hellmann’s writing has become an indispensable resource for me and many others as it fills a critical gap in Python Documentation with examples.”
– Jesse Noller, Python Core Developer and PSF Board Member
Master the Powerful Python Standard Library through Real Code Examples
The Python Standard Library contains hundreds of modules for interacting with the operating system, interpreter, and Internet–all extensively tested and ready to jump-start your application development. The Python Standard Library by Example (2 Volume Set) introduces virtually every important area of the Python 2.7 library through concise, stand-alone source code/output examples, designed for easy learning and reuse.
Building on his popular Python Module of the Week blog series, author and Python expert Doug Hellmann focuses on “showing” not “telling.” He explains code behavior through downloadable examples that fully demonstrate each feature.
You’ll find practical code for working with text, data types, algorithms, math, file systems, networking, the Internet, XML, email, cryptography, concurrency, runtime and language services, and much more. Each section fully covers one module, and links to valuable additional resources, making this book an ideal tutorial and reference. Coverage includes
If you’re new to Python, this book will quickly give you access to a whole new world of functionality. If you’ve worked with Python before, you’ll discover new, powerful solutions and better ways to use the modules you’ve already tried.
Python Is Not Just a Language—It's a Development Platform: An Interview with Doug Hellmann
Using Fuzzy Matching to Search by Sound with Python
Please visit the author's site.
The Python Standard Library: Data Structures
Download the sample pages (includes Chapter 2 and Index)
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