Warehouse Stock Clearance Sale

Grab a bargain today!


Sign Up for Fishpond's Best Deals Delivered to You Every Day
Go
The Python 3 Standard ­Library by Example,
Developer's Library

Rating
Format
Paperback, 1456 pages
Published
United States, 1 June 2017

The book is organized into chapters based on programming topics such as network programming, manipulating text, using the filesystem, etc. Each section of a chapter covers a single module from the standard library. The structure of the sections follows a consistent pattern in which a short introduction explains the overall purpose of the module being discussed, and then the features provided by the module are examined in a logical order, building from basic to complex or following the order a programmer would need to use them in a real application. The code example sections begin with a brief introduction to the example code followed by exposition and sample output from the program. Where appropriate, variations are demonstrated with alternate input values or options to highlight the change in behavior. Each code sample is a complete program file that can be run on its own (the sample code is available for download and could be included in a CD with the book). An appendex will include "porting notes” for each module, summarizing the differences between Python 2 and 3, including aspects like renamed modules or classes, deprecated and new features, and behavioral changes.



Introduction xxxi


Acknowledgments xxxiii


About the Author xxxv


Chapter 1: Text 1


1.1 string: Text Constants and Templates 1


1.2 textwrap: Formatting Text Paragraphs 7


1.3 re: Regular Expressions 13


1.4 difflib: Compare Sequences 58


Chapter 2: Data Structures 65


2.1 enum: Enumeration Type 66


2.2 collections: Container Data Types 75


2.3 array: Sequence of Fixed-Type Data 98


2.4 heapq: Heap Sort Algorithm 103


2.5 bisect: Maintain Lists in Sorted Order 109


2.6 queue: Thread-Safe FIFO Implementation 111


2.7 struct: Binary Data Structures 117


2.8 weakref: Impermanent References to Objects 121


2.9 copy: Duplicate Objects 130


2.10 pprint: Pretty-Print Data Structures 136


Chapter 3: Algorithms 143


3.1 functools: Tools for Manipulating Functions 143


3.2 itertools: Iterator Functions 163


3.3 operator: Functional Interface to Built-in Operators 183


3.4 contextlib: Context Manager Utilities 191


Chapter 4: Dates and Times 211


4.1 time: Clock Time 211


4.2 datetime: Date and Time Value Manipulation 221


4.3 calendar: Work with Dates 233


Chapter 5: Mathematics 239


5.1 decimal: Fixed- and Floating-Point Math 239


5.2 fractions: Rational Numbers 250


5.3 random: Pseudorandom Number Generators 254


5.4 math: Mathematical Functions 264


5.5 statistics: Statistical Calculations 290


Chapter 6: The File System 295


6.1 os.path: Platform-Independent Manipulation of Filenames 296


6.2 pathlib: File System Paths as Objects 305


6.3 glob: Filename Pattern Matching 319


6.4 fnmatch: Unix-Style Glob Pattern Matching 323


6.5 linecache: Read Text Files Efficiently 326


6.6 tempfile: Temporary File System Objects 330


6.7 shutil: High-Level File Operations 337


6.8 filecmp: Compare Files 351


6.9 mmap: Memory-Map Files 361


6.10 codecs: String Encoding and Decoding 365


6.11 io: Text, Binary, and Raw Stream I/O Tools 390


Chapter 7: Data Persistence and Exchange 395


7.1 pickle: Object Serialization 396


7.2 shelve: Persistent Storage of Objects 405


7.3 dbm: Unix Key-Value Databases 408


7.4 sqlite3: Embedded Relational Database 412


7.5 xml.etree.ElementTree: XML Manipulation API 445


7.6 csv: Comma-Separated Value Files 466


Chapter 8: Data Compression and Archiving 477


8.1 zlib: GNU zlib Compression 477


8.2 gzip: Read and Write GNU zip Files 486


8.3 bz2: bzip2 Compression 491


8.4 tarfile: Tar Archive Access 503


8.5 zipfile: ZIP Archive Access 511


Chapter 9: Cryptography 523


9.1 hashlib: Cryptographic Hashing 523


9.2 hmac: Cryptographic Message Signing and Verification 528


Chapter 10: Concurrency with Processes, Threads, and Coroutines 535


10.1 subprocess: Spawning Additional Processes 535


10.2 signal: Asynchronous System Events 553


10.3 threading: Manage Concurrent Operations Within a Process 560


10.4 multiprocessing: Manage Processes Like Threads 586


10.5 asyncio: Asynchronous I/O, Event Loop, and Concurrency Tools 617


10.6 concurrent.futures: Manage Pools of Concurrent Tasks 677


Chapter 11: Networking 687


11.1 ipaddress: Internet Addresses 687


11.2 socket: Network Communication 693


11.3 selectors: I/O Multiplexing Abstractions 724


11.4 select: Wait for I/O Efficiently 728


11.5 socketserver: Creating Network Servers 742


Chapter 12: The Internet 753


12.1 urllib.parse: Split URLs into Components 753


12.2 urllib.request: Network Resource Access 761


12.3 urllib.robotparser: Internet Spider Access Control 773


12.4 base64: Encode Binary Data with ASCII 776


12.5 http.server: Base Classes for Implementing Web Servers 781


12.6 http.cookies: HTTP Cookies 790


12.7 webbrowser: Displays Web Pages 796


12.8 uuid: Universally Unique Identifiers 797


12.9 json: JavaScript Object Notation 803


12.10 xmlrpc.client: Client Library for XML-RPC 816


12.11 xmlrpc.server: An XML-RPC Server 827


Chapter 13: Email 841


13.1 smtplib: Simple Mail Transfer Protocol Client 841


13.2 smtpd: Sample Mail Servers 847


13.3 mailbox: Manipulate Email Archives 852


13.4 imaplib: IMAP4 Client Library 864


Chapter 14: Application Building Blocks 887


14.1 argparse: Command-Line Option and Argument Parsing 888


14.2 getopt: Command-Line Option Parsing 916


14.3 readline: The GNU readline Library 922


14.4 getpass: Secure Password Prompt 935


14.5 cmd: Line-Oriented Command Processors 938


14.6 shlex: Parse Shell-Style Syntaxes 951


14.7 configparser: Work with Configuration Files 960


14.8 logging: Report Status, Error, and Informational Messages 980


14.9 fileinput: Command-Line Filter Framework 986


14.10 atexit: Program Shutdown Callbacks 993


14.11 sched: Timed Event Scheduler 998


Chapter 15: Internationalization and Localization 1003


15.1 gettext: Message Catalogs 1003


15.2 locale: Cultural Localization API 1012


Chapter 16: Developer Tools 1023


16.1 pydoc: Online Help for Modules 1024


16.2 doctest: Testing Through Documentation 1026


16.3 unittest: Automated Testing Framework 1051


16.4 trace: Follow Program Flow 1069


16.5 traceback: Exceptions and Stack Traces 1078


16.6 cgitb: Detailed Traceback Reports 1089


16.7 pdb: Interactive Debugger 1101


16.8 profile and pstats: Performance Analysis 1140


16.9 timeit: Time the Execution of Small Bits of Python Code 1148


16.10 tabnanny: Indentation Validator 1153


16.11 compileall: Byte-Compile Source Files 1155


16.12 pyclbr: Class Browser 1160


16.13 venv: Create Virtual Environments 1163


16.14 ensurepip: Install the Python Package Installer 1167


Chapter 17: Runtime Features 1169


17.1 site: Site-wide Configuration 1169


17.2 sys: System-Specific Configuration 1178


17.3 os: Portable Access to Operating System-Specific Features 1227


17.4 platform: System Version Information 1246


17.5 resource: System Resource Management 1251


17.6 gc: Garbage Collector 1254


17.7 sysconfig: Interpreter Compile-Time Configuration 1270


Chapter 18: Language Tools 1279


18.1 warnings: Non-fatal Alerts 1279


18.2 abc: Abstract Base Classes 1287


18.3 dis: Python Byte-Code Disassembler 1296


18.4 inspect: Inspect Live Objects 1311


Chapter 19: Modules and Packages 1329


19.1 importlib: Python's Import Mechanism 1329


19.2 pkgutil: Package Utilities 1334


19.3 zipimport: Load Python Code from ZIP Archives 1344


Appendix A: Porting Notes 1351


A.1 References 1351


A.2 New Modules 1352


A.3 Renamed Modules 1352


A.4 Removed Modules 1354


A.5 Deprecated Modules 1355


A.6 Summary of Changes to Modules 1356


Appendix B: Outside of the Standard Library 1367


B.1 Text 1367


B.2 Algorithms 1367


B.3 Dates and Times 1368


B.4 Mathematics 1368


B.5 Data Persistence and Exchange 1368


B.6 Cryptography 1369


B.7 Concurrency with Processes, Threads, and Coroutines 1369


B.8 The Internet 1369


B.9 Email 1370


B.10 Application Building Blocks 1370


B.11 Developer Tools 1371


Index of Python Modules 1373


Index 1375

Show more

This item is no longer available.

Product Description

The book is organized into chapters based on programming topics such as network programming, manipulating text, using the filesystem, etc. Each section of a chapter covers a single module from the standard library. The structure of the sections follows a consistent pattern in which a short introduction explains the overall purpose of the module being discussed, and then the features provided by the module are examined in a logical order, building from basic to complex or following the order a programmer would need to use them in a real application. The code example sections begin with a brief introduction to the example code followed by exposition and sample output from the program. Where appropriate, variations are demonstrated with alternate input values or options to highlight the change in behavior. Each code sample is a complete program file that can be run on its own (the sample code is available for download and could be included in a CD with the book). An appendex will include "porting notes” for each module, summarizing the differences between Python 2 and 3, including aspects like renamed modules or classes, deprecated and new features, and behavioral changes.



Introduction xxxi


Acknowledgments xxxiii


About the Author xxxv


Chapter 1: Text 1


1.1 string: Text Constants and Templates 1


1.2 textwrap: Formatting Text Paragraphs 7


1.3 re: Regular Expressions 13


1.4 difflib: Compare Sequences 58


Chapter 2: Data Structures 65


2.1 enum: Enumeration Type 66


2.2 collections: Container Data Types 75


2.3 array: Sequence of Fixed-Type Data 98


2.4 heapq: Heap Sort Algorithm 103


2.5 bisect: Maintain Lists in Sorted Order 109


2.6 queue: Thread-Safe FIFO Implementation 111


2.7 struct: Binary Data Structures 117


2.8 weakref: Impermanent References to Objects 121


2.9 copy: Duplicate Objects 130


2.10 pprint: Pretty-Print Data Structures 136


Chapter 3: Algorithms 143


3.1 functools: Tools for Manipulating Functions 143


3.2 itertools: Iterator Functions 163


3.3 operator: Functional Interface to Built-in Operators 183


3.4 contextlib: Context Manager Utilities 191


Chapter 4: Dates and Times 211


4.1 time: Clock Time 211


4.2 datetime: Date and Time Value Manipulation 221


4.3 calendar: Work with Dates 233


Chapter 5: Mathematics 239


5.1 decimal: Fixed- and Floating-Point Math 239


5.2 fractions: Rational Numbers 250


5.3 random: Pseudorandom Number Generators 254


5.4 math: Mathematical Functions 264


5.5 statistics: Statistical Calculations 290


Chapter 6: The File System 295


6.1 os.path: Platform-Independent Manipulation of Filenames 296


6.2 pathlib: File System Paths as Objects 305


6.3 glob: Filename Pattern Matching 319


6.4 fnmatch: Unix-Style Glob Pattern Matching 323


6.5 linecache: Read Text Files Efficiently 326


6.6 tempfile: Temporary File System Objects 330


6.7 shutil: High-Level File Operations 337


6.8 filecmp: Compare Files 351


6.9 mmap: Memory-Map Files 361


6.10 codecs: String Encoding and Decoding 365


6.11 io: Text, Binary, and Raw Stream I/O Tools 390


Chapter 7: Data Persistence and Exchange 395


7.1 pickle: Object Serialization 396


7.2 shelve: Persistent Storage of Objects 405


7.3 dbm: Unix Key-Value Databases 408


7.4 sqlite3: Embedded Relational Database 412


7.5 xml.etree.ElementTree: XML Manipulation API 445


7.6 csv: Comma-Separated Value Files 466


Chapter 8: Data Compression and Archiving 477


8.1 zlib: GNU zlib Compression 477


8.2 gzip: Read and Write GNU zip Files 486


8.3 bz2: bzip2 Compression 491


8.4 tarfile: Tar Archive Access 503


8.5 zipfile: ZIP Archive Access 511


Chapter 9: Cryptography 523


9.1 hashlib: Cryptographic Hashing 523


9.2 hmac: Cryptographic Message Signing and Verification 528


Chapter 10: Concurrency with Processes, Threads, and Coroutines 535


10.1 subprocess: Spawning Additional Processes 535


10.2 signal: Asynchronous System Events 553


10.3 threading: Manage Concurrent Operations Within a Process 560


10.4 multiprocessing: Manage Processes Like Threads 586


10.5 asyncio: Asynchronous I/O, Event Loop, and Concurrency Tools 617


10.6 concurrent.futures: Manage Pools of Concurrent Tasks 677


Chapter 11: Networking 687


11.1 ipaddress: Internet Addresses 687


11.2 socket: Network Communication 693


11.3 selectors: I/O Multiplexing Abstractions 724


11.4 select: Wait for I/O Efficiently 728


11.5 socketserver: Creating Network Servers 742


Chapter 12: The Internet 753


12.1 urllib.parse: Split URLs into Components 753


12.2 urllib.request: Network Resource Access 761


12.3 urllib.robotparser: Internet Spider Access Control 773


12.4 base64: Encode Binary Data with ASCII 776


12.5 http.server: Base Classes for Implementing Web Servers 781


12.6 http.cookies: HTTP Cookies 790


12.7 webbrowser: Displays Web Pages 796


12.8 uuid: Universally Unique Identifiers 797


12.9 json: JavaScript Object Notation 803


12.10 xmlrpc.client: Client Library for XML-RPC 816


12.11 xmlrpc.server: An XML-RPC Server 827


Chapter 13: Email 841


13.1 smtplib: Simple Mail Transfer Protocol Client 841


13.2 smtpd: Sample Mail Servers 847


13.3 mailbox: Manipulate Email Archives 852


13.4 imaplib: IMAP4 Client Library 864


Chapter 14: Application Building Blocks 887


14.1 argparse: Command-Line Option and Argument Parsing 888


14.2 getopt: Command-Line Option Parsing 916


14.3 readline: The GNU readline Library 922


14.4 getpass: Secure Password Prompt 935


14.5 cmd: Line-Oriented Command Processors 938


14.6 shlex: Parse Shell-Style Syntaxes 951


14.7 configparser: Work with Configuration Files 960


14.8 logging: Report Status, Error, and Informational Messages 980


14.9 fileinput: Command-Line Filter Framework 986


14.10 atexit: Program Shutdown Callbacks 993


14.11 sched: Timed Event Scheduler 998


Chapter 15: Internationalization and Localization 1003


15.1 gettext: Message Catalogs 1003


15.2 locale: Cultural Localization API 1012


Chapter 16: Developer Tools 1023


16.1 pydoc: Online Help for Modules 1024


16.2 doctest: Testing Through Documentation 1026


16.3 unittest: Automated Testing Framework 1051


16.4 trace: Follow Program Flow 1069


16.5 traceback: Exceptions and Stack Traces 1078


16.6 cgitb: Detailed Traceback Reports 1089


16.7 pdb: Interactive Debugger 1101


16.8 profile and pstats: Performance Analysis 1140


16.9 timeit: Time the Execution of Small Bits of Python Code 1148


16.10 tabnanny: Indentation Validator 1153


16.11 compileall: Byte-Compile Source Files 1155


16.12 pyclbr: Class Browser 1160


16.13 venv: Create Virtual Environments 1163


16.14 ensurepip: Install the Python Package Installer 1167


Chapter 17: Runtime Features 1169


17.1 site: Site-wide Configuration 1169


17.2 sys: System-Specific Configuration 1178


17.3 os: Portable Access to Operating System-Specific Features 1227


17.4 platform: System Version Information 1246


17.5 resource: System Resource Management 1251


17.6 gc: Garbage Collector 1254


17.7 sysconfig: Interpreter Compile-Time Configuration 1270


Chapter 18: Language Tools 1279


18.1 warnings: Non-fatal Alerts 1279


18.2 abc: Abstract Base Classes 1287


18.3 dis: Python Byte-Code Disassembler 1296


18.4 inspect: Inspect Live Objects 1311


Chapter 19: Modules and Packages 1329


19.1 importlib: Python's Import Mechanism 1329


19.2 pkgutil: Package Utilities 1334


19.3 zipimport: Load Python Code from ZIP Archives 1344


Appendix A: Porting Notes 1351


A.1 References 1351


A.2 New Modules 1352


A.3 Renamed Modules 1352


A.4 Removed Modules 1354


A.5 Deprecated Modules 1355


A.6 Summary of Changes to Modules 1356


Appendix B: Outside of the Standard Library 1367


B.1 Text 1367


B.2 Algorithms 1367


B.3 Dates and Times 1368


B.4 Mathematics 1368


B.5 Data Persistence and Exchange 1368


B.6 Cryptography 1369


B.7 Concurrency with Processes, Threads, and Coroutines 1369


B.8 The Internet 1369


B.9 Email 1370


B.10 Application Building Blocks 1370


B.11 Developer Tools 1371


Index of Python Modules 1373


Index 1375

Show more
Product Details
EAN
9780134291055
ISBN
0134291050
Publisher
Dimensions
22.9 x 17.8 x 5.1 centimeters (1.33 kg)

Table of Contents

  • Chapter 1: Text
  • Chapter 2: Data Structures
  • Chapter 3: Algorithms
  • Chapter 4: Dates and Times
  • Chapter 5: Mathematics
  • Chapter 6: The File System
  • Chapter 7: Data Persistence and Exchange
  • Chapter 8: Data Compression and Archiving
  • Chapter 9: Cryptography
  • Chapter 10: Concurrency with Processes, Threads, and Coroutines
  • Chapter 11: Networking
  • Chapter 12: The Internet
  • Chapter 13: Email
  • Chapter 14: Application Building Blocks
  • Chapter 15: Internationalization and Localization
  • Chapter 16: Developer Tools
  • Chapter 17: Runtime Features
  • Chapter 18: Language Tools
  • Appendix A: Porting Notes
  • Appendix B: Outside of the Standard Library
  • Index of Python Modules
  • Index

About the Author

Doug Hellmann is currently employed by Red Hat to work on OpenStack. He is on the OpenStack Technical Committee and contributes to many aspects of the project. He has been programming in Python since version 1.4, and has worked on a variety of UNIX and non-UNIX platforms for projects in fields such as mapping, medical news publishing, banking, and data center automation. Doug is a Fellow of the Python Software Foundation and served as its Communications Director from 2010-2012. After a year as a regular columnist for Python Magazine, he served as Editor-in-Chief from 2008-2009. Between 2007 and 2011, Doug published the popular "Python Module of the Week" series on his blog, and an earlier version of this book (for Python 2), The Python Standard Library By Example (Addison-Wesley, 2011) . He lives in Athens, Georgia.

Show more
Review this Product
Ask a Question About this Product More...
 
Look for similar items by category
This title is unavailable for purchase as none of our regular suppliers have stock available. If you are the publisher, author or distributor for this item, please visit this link.

Back to top