Books & Videos

Table of Contents

  1. The Beginning

    1. Chapter 1 Introducing Python

      1. "And Now for Something Completely Different"
      2. Python Philosophy 101
      3. The Life of Python
      4. Signs of the Python Times
      5. The Compulsory Features List
      6. What's Python Good For?
      7. What's Python Not Good For?
      8. Truth in Advertising
    2. Chapter 2 A Sneak Preview

      1. "Programming Python: The Short Story"
      2. The Task
      3. Step 1: Representing Records
      4. Step 2: Storing Records Persistently
      5. Step 3: Stepping Up to OOP
      6. Step 4: Adding Console Interaction
      7. Step 5: Adding a GUI
      8. Step 6: Adding a Web Interface
      9. The End of the Demo
  2. System Programming

    1. Chapter 3 System Tools

      1. "The os.path to Knowledge"
      2. System Scripting Overview
      3. Introducing the sys Module
      4. Introducing the os Module
      5. Script Execution Context
      6. Current Working Directory
      7. Command-Line Arguments
      8. Shell Environment Variables
      9. Standard Streams
    2. Chapter 4 File and Directory Tools

      1. "Erase Your Hard Drive in Five Easy Steps!"
      2. File Tools
      3. Directory Tools
    3. Chapter 5 Parallel System Tools

      1. "Telling the Monkeys What to Do"
      2. Forking Processes
      3. Threads
      4. Program Exits
      5. Interprocess Communication
      6. Pipes
      7. Signals
      8. Other Ways to Start Programs
      9. A Portable Program-Launch Framework
      10. Other System Tools
    4. Chapter 6 System Examples: Utilities

      1. "Splits and Joins and Alien Invasions"
      2. Splitting and Joining Files
      3. Generating Forward-Link Web Pages
      4. A Regression Test Script
      5. Packing and Unpacking Files
      6. Automated Program Launchers
    5. Chapter 7 System Examples: Directories

      1. "The Greps of Wrath"
      2. Fixing DOS Line Ends
      3. Fixing DOS Filenames
      4. Searching Directory Trees
      5. Visitor: Walking Trees Generically
      6. Copying Directory Trees
      7. Deleting Directory Trees
      8. Comparing Directory Trees
  3. GUI Programming

    1. Chapter 8 Graphical User Interfaces

      1. "Here's Looking at You, Kid"
      2. Python GUI Development Options
      3. Tkinter Overview
      4. Climbing the GUI Learning Curve
      5. Tkinter Coding Basics
      6. Tkinter Coding Alternatives
      7. Adding Buttons and Callbacks
      8. Adding User-Defined Callback Handlers
      9. Adding Multiple Widgets
      10. Customizing Widgets with Classes
      11. Reusable GUI Components with Classes
      12. The End of the Tutorial
      13. Python/Tkinter for Tcl/Tk Converts
    2. Chapter 9 A Tkinter Tour, Part 1

      1. "Widgets and Gadgets and GUIs, Oh My!"
      2. Configuring Widget Appearance
      3. Top-Level Windows
      4. Dialogs
      5. Binding Events
      6. Message and Entry
      7. Checkbutton, Radiobutton, and Scale
      8. Running GUI Code Three Ways
      9. Images
      10. Viewing and Processing Images with PIL
    3. Chapter 10 A Tkinter Tour, Part 2

      1. "On Today's Menu: Spam, Spam, and Spam"
      2. Menus
      3. Listboxes and Scrollbars
      4. Text
      5. Canvas
      6. Grids
      7. Time Tools, Threads, and Animation
      8. The End of the Tour
      9. The PyDemos and PyGadgets Launchers
    4. Chapter 11 GUI Coding Techniques

      1. "Building a Better Mouse Trap"
      2. GuiMixin: Common Tool Mixin Classes
      3. GuiMaker: Automating Menus and Toolbars
      4. ShellGui: GUIs for Command-Line Tools
      5. GuiStreams: Redirecting Streams to Widgets
      6. Reloading Callback Handlers Dynamically
      7. Wrapping Up Top-Level Window Interfaces
      8. GUIs, Threads, and Queues
      9. More Ways to Add GUIs to Non-GUI Code
    5. Chapter 12 Complete GUI Programs

      1. "Python, Open Source, and Camaros"
      2. PyEdit: A Text Editor Program/Object
      3. PyPhoto: An Image Viewer and Resizer
      4. PyView: An Image and Notes Slideshow
      5. PyDraw: Painting and Moving Graphics
      6. PyClock: An Analog/Digital Clock Widget
      7. PyToe: A Tic-Tac-Toe Game Widget
      8. Where to Go from Here
  4. Internet Programming

    1. Chapter 13 Network Scripting

      1. "Tune In, Log On, and Drop Out"
      2. Plumbing the Internet
      3. Socket Programming
      4. Handling Multiple Clients
      5. A Simple Python File Server
    2. Chapter 14 Client-Side Scripting

      1. "Socket to Me!"
      2. FTP: Transferring Files over the Net
      3. Processing Internet Email
      4. POP: Fetching Email
      5. SMTP: Sending Email
      6. email: Parsing and Composing Mails
      7. pymail: A Console-Based Email Client
      8. The mailtools Utility Package
      9. NNTP: Accessing Newsgroups
      10. HTTP: Accessing Web Sites
      11. Module urllib Revisited
      12. Other Client-Side Scripting Options
    3. Chapter 15 The PyMailGUI Client

      1. "Use the Source, Luke"
      2. A PyMailGUI Demo
      3. PyMailGUI Implementation
    4. Chapter 16 Server-Side Scripting

      1. "Oh What a Tangled Web We Weave"
      2. What's a Server-Side CGI Script?
      3. Running Server-Side Examples
      4. Climbing the CGI Learning Curve
      5. Saving State Information in CGI Scripts
      6. The Hello World Selector
      7. Refactoring Code for Maintainability
      8. More on HTML and URL Escapes
      9. Transferring Files to Clients and Servers
    5. Chapter 17 The PyMailCGI Server

      1. "Things to Do When Visiting Chicago"
      2. The PyMailCGI Web Site
      3. The Root Page
      4. Sending Mail by SMTP
      5. Reading POP Email
      6. Processing Fetched Mail
      7. Utility Modules
      8. CGI Script Trade-Offs
    6. Chapter 18 Advanced Internet Topics

      1. "Surfing on the Shoulders of Giants"
      2. Zope: A Web Application Framework
      3. HTMLgen: Web Pages from Objects
      4. Jython: Python for Java
      5. Grail: A Python-Based Web Browser
      6. XML Processing Tools
      7. Windows Web Scripting Extensions
      8. Python Server Pages
      9. Rolling Your Own Servers in Python
      10. And Other Cool Stuff
  5. Tools and Techniques

    1. Chapter 19 Databases and Persistence

      1. "Give Me an Order of Persistence, but Hold the Pickles"
      2. Persistence Options in Python
      3. DBM Files
      4. Pickled Objects
      5. Shelve Files
      6. The ZODB Object-Oriented Database
      7. SQL Database Interfaces
      8. PyForm: A Persistent Object Viewer
    2. Chapter 20 Data Structures

      1. "Roses Are Red, Violets Are Blue; Lists Are Mutable, and So Is Set Foo"
      2. Implementing Stacks
      3. Implementing Sets
      4. Subclassing Built-In Types
      5. Binary Search Trees
      6. Graph Searching
      7. Reversing Sequences
      8. Permuting Sequences
      9. Sorting Sequences
      10. Data Structures Versus Python Built-Ins
      11. PyTree: A Generic Tree Object Viewer
    3. Chapter 21 Text and Language

      1. "See Jack Hack. Hack, Jack, Hack"
      2. Strategies for Parsing Text in Python
      3. String Method Utilities
      4. Regular Expression Pattern Matching
      5. Advanced Language Tools
      6. Handcoded Parsers
      7. PyCalc: A Calculator Program/Object
  6. Integration

    1. Chapter 22 Extending Python

      1. "I Am Lost at C"
      2. Integration Modes
      3. C Extensions Overview
      4. A Simple C Extension Module
      5. Extension Module Details
      6. The SWIG Integration Code Generator
      7. Wrapping C Environment Calls
      8. A C Extension Module String Stack
      9. A C Extension Type String Stack
      10. Wrapping C++ Classes with SWIG
      11. Other Extending Tools
    2. Chapter 23 Embedding Python

      1. "Add Python. Mix Well. Repeat."
      2. C Embedding API Overview
      3. Basic Embedding Techniques
      4. Registering Callback Handler Objects
      5. Using Python Classes in C
      6. A High-Level Embedding API: ppembed
      7. Other Integration Topics
  7. The End

    1. Chapter 24 Conclusion: Python and the Development Cycle

      1. "That's the End of the Book, Now Here's the Meaning of Life"
      2. "Something's Wrong with the Way We Program Computers"
      3. The "Gilligan Factor"
      4. Doing the Right Thing
      5. Enter Python
      6. But What About That Bottleneck?
      7. On Sinking the Titanic
      8. So What's "Python: The Sequel"?
      9. In the Final Analysis . . .
      10. Postscript to the Second Edition (2000)
      11. Postscript to the Third Edition (2006)
  1. Colophon