Product Cover Image

Python Standard Library by Example, The

By Doug Hellmann

Published by Addison-Wesley Professional

Published Date: Jun 1, 2011

More Product Info

Description

This is the Safari online edition of the printed book.

One of Python’s most popular features is the “standard library” of modules that serve as the foundation of an application and give the language its motto: “Batteries Included.” The documentation for the standard library serves as a reference manual, but often requires experimentation to understand the precise meaning of the text. In contrast, this book provides example programs for over 100 of the most commonly used standard library modules, explaining their purpose and demonstrating how to use them in your daily programming tasks. The features of each module are examined in order, building from basic to complex or following the order you will need to use them in a real application. The examples are presented as complete working programs, along with their output, leaving no question about how to interpret the reference guide.

Table of Contents

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

Purchase Info

ISBN-10: 0-13-277863-7

ISBN-13: 978-0-13-277863-3

Format: Safari PTG

This publication is not currently for sale.