Index

A note on the digital index

A link in an index entry is displayed as the section title in which that entry appears. Because some sections have multiple index markers, it is not unusual for an entry to have several links to the same section. Clicking on any link will take you directly to the place in the text in which the marker appears.

Symbols

(backslash), The Module Search Path, The Hello World Selector
/ (forward slash), The Module Search Path
| (pipe character), Chaining programs with pipes
_ (underscore), Standalone Container Classes
* wildcard character, The glob module

A

after method
drawbacks, Using widget.after events
functionality, Using the after MethodHiding and redrawing widgets and windows
scheduling functions, Time Tools, Threads, and Animation, Simple Animation Techniques
algebra, relational, Adding Relational Algebra to Sets (External)
anchoring widgets, Using Anchor to Position Instead of StretchUsing Anchor to Position Instead of Stretch
animation
coordinate system and, Coordinates
graphics and, Graphics and gaming toolkits
other effects, Other animation effects
simple techniques, Simple Animation TechniquesUsing multiple time.sleep loop threads
third-party toolkits, Graphics and gaming toolkits
threads and, Threads and animation
time.sleep loops, Using time.sleep loopsUsing time.sleep loops, Using multiple time.sleep loop threads
anonymous pipes
basic functionality, Anonymous pipe basicsAnonymous pipe basics
bidirectional IPC and, Bidirectional IPC with anonymous pipesBidirectional IPC with anonymous pipes
defined, Interprocess Communication, Anonymous Pipes
output stream buffering, Output stream buffering revisited: Deadlocks and flushesOutput stream buffering revisited: Deadlocks and flushes
threads and, Anonymous pipes and threads
wrapping descriptors in file objects, Wrapping pipe descriptors in file objects
Apache web servers, Python Internet Development Options, Web Server Options
append list operator, A database list, Nested structures
arguments
global variables versus, Arguments versus globals, Arguments versus globals
pass-by-name, One More for Old Times’ Sake
threads and, Coding alternatives: busy loops, arguments, and context managersCoding alternatives: busy loops, arguments, and context managers
Array object (multiprocessing), IPC Tools: Pipes, Shared Memory, and Queues
ASCII encoding, Unicode encodings for text files
askyesno function, Standard (Common) Dialogs
associated variables, tkinter “Variables” and Form Layout Alternativestkinter “Variables” and Form Layout Alternatives, Checkbuttons
asyncore.py module, Running the select server
attachments
propagating, Ideas for Improvement
sending via PyMailCGI, New in This Fourth Edition (Version 3.0)
sending via PyMailGUI, Sending Email and AttachmentsSending Email and Attachments
viewing via PyMailGUI, Viewing Email and Attachments
augmenting methods, Augmenting methods

B

backslash (), The Module Search Path, The Hello World Selector
backups, verifying, Verifying Backups
base64 module, Python’s Internet Library Modules
BASIC language, Enter Python
BDFL acronym, Other Database Options
BeautifulSoup third-party extension, mailconfig: User Configurations, Ideas for Improvement
Beazley, Dave, The SWIG Integration Code Generator
bell method, Using the after Method
BigGui client demo program, BigGui: A Client Demo ProgramBigGui: A Client Demo Program
binary files
defined, The File Object Model in Python 3.X, Binary and Text Files
parsing with struct module, Parsing packed binary data with the struct moduleParsing packed binary data with the struct module
random access processing, Random access filesRandom access files
Unicode encoding and, Other binary mode considerations
binary mode transfers, Uploading Site Directories
binary trees
built-in options, Built-in Options
defined, Binary Search Trees
implementing, Implementing Binary TreesTrees with Both Keys and Values
binascii module, Python’s Internet Library Modules
bind method mechanism
binding events, Binding Events, Binding EventsMore on <Destroy> events and the quit and destroy methods, Binding events on specific itemsBinding events on specific items
binding tags, Advanced Text and Tag Operations
functionality, Other tkinter Callback Protocols
binding
events, Binding Events, Binding EventsMore on <Destroy> events and the quit and destroy methods, Binding events on specific itemsBinding events on specific items
reserved port servers, Binding reserved port servers
tags, Advanced Text and Tag Operations
binhex module, Python’s Internet Library Modules
BitmapImage widget class, The End of the Tutorial, ImagesFun with Buttons and Pictures
BooleanVar class, tkinter “Variables” and Form Layout Alternatives
Boost.Python system, Other Extending Tools
bound methods
callback handlers and, Bound Method Callback Handlers
defined, Using OOP for GUIs
PyMailGUI program support, Threading model implementation
recoding with, Recoding with classes and bound methodsRecoding with classes and bound methods
browsers
cookie support, Creating a cookie
displaying CGI context in, Debugging CGI scripts
Grail, Running Examples in This Part of the Book
PyMailCGI send mail script, Using the Send Mail Script Outside a BrowserUsing the Send Mail Script Outside a Browser
testing with urllib.request, Testing outside browsers with the module urllib.requestTesting outside browsers with the module urllib.request
buffering
command pipes and, Buffering in other contexts: Command pipes revisited
line, Line bufferingLine buffering
output streams, Text-mode files and buffered output streams
Button widget class
command option, Checkbuttons
functionality, Adding Buttons and CallbacksAdding Buttons and Callbacks, The End of the Tutorial
buttons
adding, Adding Buttons and CallbacksAdding Buttons and Callbacks
adding in PyCalc, Adding new buttons in new componentsAdding new buttons in new components
deferring calls, Deferring Calls with Lambdas and Object References
fixed-size, Layout options: Fixed-size buttons
Quit button, A “smart” and reusable Quit button
randomly changing images, Fun with Buttons and PicturesFun with Buttons and Pictures
bytearray string type, Other String Concepts in Python 3.X: Unicode and bytes
bytecode files
cleaning up, Cleaning Up Bytecode FilesCleaning Up Bytecode Files
precompiling strings to, Precompiling Strings to BytecodePrecompiling Strings to Bytecode
bytes string type, Other String Concepts in Python 3.X: Unicode and bytes, String types in the Text widgetString types in the Text widget, The problem with treating text as bytesThe problem with treating text as bytes

C

C language
API standard, C API thread considerations, The C Embedding API
classes and, Using Python Classes in CUsing Python Classes in C
embedding interface, Extending and EmbeddingExtending and Embedding, The C Embedding APIPrecompiling Strings to Bytecode
extending interface, Extending and EmbeddingA Simple C Extension Module, Extending Python in C: OverviewA Simple C Extension Module
getenv function, Wrapping C Environment Calls
putenv function, Wrapping C Environment Calls, Wrapping C Environment Calls with SWIG
Python comparison, Enter Python
Python support, “I Am Lost at C”
scanning files for patterns, Scanning C Header Files for PatternsScanning C Header Files for Patterns
strop extension module, More on the holmes expert system shell
SWIG tool and, The SWIG Integration Code GeneratorA Simple SWIG Example, Wrapping C Environment Calls with SWIG
wrapping environment calls, Wrapping C Environment CallsWrapping C Environment Calls with SWIG
C++ language, Wrapping C++ Classes with SWIGExploring the wrappers interactively, Other Extending Tools, Enter Python
CalcGui class, Running PyCalc, Evaluating expressions with stacks
calculators (see PyCalc program)
callable objects
defined, What Is Embedded Code?
overview, Calling Python ObjectsCalling Python Objects
registering, Registering Callback Handler ObjectsRegistration Implementation
callback handlers
adding user-defined, Adding User-Defined Callback Handlers
additional protocols, Other tkinter Callback Protocols
binding events, Binding Events, Binding Events
bound method, Bound Method Callback Handlers
callable class object, Callable Class Object Callback Handlers
deferring calls, Deferring Calls with Lambdas and Object ReferencesDeferring Calls with Lambdas and Object References
defined, Programming structure
lambda, Lambda Callback HandlersBut you must still sometimes use defaults instead of enclosing scopes
registering objects, Registering Callback Handler ObjectsRegistration Implementation
reloading dynamically, Reloading Callback Handlers DynamicallyReloading Callback Handlers Dynamically
callbacks
adding, Adding Buttons and CallbacksAdding Buttons and Callbacks
arguments versus globals, Arguments versus globals
passing data with lambdas, Printing dialog results and passing callback data with lambdasPrinting dialog results and passing callback data with lambdas
placing on queues, Placing Callbacks on QueuesPassing bound method callbacks on queues
Canvas widget class
addtag_withtag method, Canvas object tags
basic operations, Basic Canvas Operations
controlling image displays, Scrolling and canvases (ahead)
coordinate system, Coordinates
create_ method, Object identifiers and operations
create_polygon method, Object construction
delete method, Using Canvas Events
event support, Using Canvas EventsBinding events on specific items
find_closest method, Canvas object tags, Binding events on specific items
freeform graphic support, Future directions
functionality, The End of the Tutorial, Images, Text, Canvas
image thumbnails, Scrollable Canvases and Image ThumbnailsScrolling images too: PyPhoto (ahead)
itemconfig method, Object identifiers and operations
move method, Canvas object tags
object construction, Object construction
object identifiers, Object identifiers and operations
object tags, Canvas object tags
postscript method, Canvas object tags
programming, Programming the Canvas WidgetCanvas object tags
scrolling canvases, Scrolling CanvasesScrolling Canvases
tag_bind method, Binding events on specific items
tkraise method, Object identifiers and operations
update method, Simple Animation Techniques
xscrollcommand option, Programming Scroll Bars
xview method, Programming Scroll Bars
yscrollcommand option, Programming Scroll Bars
yview method, Programming Scroll Bars
canvases
basic operations, Basic Canvas OperationsBasic Canvas Operations
clearing, Using Canvas Events
coordinate system, Coordinates
defined, Canvas
dragging out object shapes, Using Canvas Events
event support, Using Canvas EventsBinding events on specific items
image thumbnails, Scrollable Canvases and Image ThumbnailsScrolling images too: PyPhoto (ahead)
moving objects, Using Canvas Events
object construction, Object construction
object identifiers, Object identifiers and operations
object tags, Canvas object tags
scrolling, Scrolling CanvasesScrolling Canvases
cat command, Shell command limitations
cd command, CWD and Command Lines
cenviron module, Wrapping C Environment Calls
cgi module
escape function, Formatting Reply Text, The Hello World Selector, More on HTML and URL EscapesEscaping URLs Embedded in HTML Code, Passing State Information in URL Link Parameters, Escaping Mail Text and Passwords in HTML
FieldStorage class, Response script, Adding Common Input Devices, The Hello World Selector, Passing State Information in URL Link Parameters
functionality, Python’s Internet Library Modules, Writing CGI Scripts in Python
PyMailCGI program and, Implementation Overview
CGI scripts, “Oh, What a Tangled Web We Weave”
(see also PyMailCGI program; server-side scripting/processing)
adding common input devices, Adding Common Input DevicesAdding Common Input Devices
adding pictures, Adding Pictures and Generating TablesTable tags
adding user interaction, Adding User InteractionTesting outside browsers with the module urllib.request
building first web page, A First Web PageHTML file permission constraints
changing input layouts, Changing Input LayoutsKeeping display and logic separate
checking inputs, Checking for Missing and Invalid InputsChecking for Missing and Invalid Inputs
converting strings, Converting strings in CGI scripts
debugging, Debugging CGI scriptsDebugging CGI scripts
defined, The Script Behind the Curtain
escape conventions, More on HTML and URL EscapesAvoiding conflicts
examples, A First CGI ScriptFinding Python on remote servers
formatting reply text, Formatting Reply Text
functionality, CGI BasicsGUIs versus the Web, Python Internet Development Options, What’s a Server-Side CGI Script?The Script Behind the Curtain
functions and, Passing parameters in URLs
generating tables, Adding Pictures and Generating TablesTable tags
Hello World program, The Hello World SelectorChecking for Missing and Invalid Inputs
installing, Installing CGI scriptsInstalling CGI scripts
laying out forms with tables, Using Tables to Lay Out FormsDebugging CGI scripts
model extensions, Extensions to the CGI Model
name conventions, Installing CGI scripts
passing parameters in hidden form fields, Passing Parameters in Hidden Form Fields
passing parameters in URLs, Passing Parameters in Hardcoded URLsPassing Parameters in Hardcoded URLs
permissions, Handling private files and errors
programming suggestions, Future directions
query strings, Using Query Strings and urllibUsing Query Strings and urllib
refactoring code, Refactoring Code for MaintainabilityStep 3: Putting It All Together—A New Reply Script
running, Running Server-Side ExamplesViewing Server-Side Examples and Output
saving state information in, Saving State Information in CGI ScriptsCombining Techniques
text decoding issues, Parser decoding requirement
urllib module and, Using Query Strings and urllibUsing Query Strings and urllib
using cookies in, Using cookies in CGI scripts
web servers and, Running a Web ServerRunning a Web Server
writing, Writing CGI Scripts in PythonWriting CGI Scripts in Python
Checkbutton widget class
command option, Checkbuttons
functionality, The End of the Tutorial, CheckbuttonsCheck buttons and variables
variables and, Check buttons and variablesCheck buttons and variables
child process
defined, Forking Processes
exiting from, Exiting from children
spawning, Spawned child program
chmod command, Script start-up pointers, CGI Basics, HTML file permission constraints
class instances
persistence and, Persistence Options in Python
pickling, Pickling in Action
storing in shelves, Storing Class Instances in ShelvesStoring Class Instances in Shelves
class object callback handlers, Callable Class Object Callback Handlers
classes
adding behavior, Adding Behavior
adding inheritance, Adding Inheritance
adding persistence, Adding PersistenceAdding Persistence
alternative, Alternative classes
C language and, Using Python Classes in CUsing Python Classes in C
changing for objects, Changing Classes of Objects Stored in Shelves
container, Standalone Container ClassesStandalone Container Classes
customizing widgets with, Customizing Widgets with ClassesCommon appearance
moving graphs to, Moving Graphs to ClassesMoving Graphs to Classes
programming considerations, Using ClassesUsing Classes
recoding with, Recoding with classes and bound methodsRecoding with classes and bound methods
refactoring scripts with, Refactoring with classesRefactoring with classes
reusable GUI components, Reusable GUI Components with ClassesStandalone Container Classes
sets and, Set ClassesSet Classes
stacks and, A Stack ClassA Stack Class
client-side scripting/processing
accessing newsgroups, NNTP: Accessing NewsgroupsNNTP: Accessing Newsgroups
accessing websites, HTTP: Accessing WebsitesHTTP: Accessing Websites
additional options, Other Client-Side Scripting Options
client socket calls, Client socket calls
console-based email client, A Console-Based Email ClientRunning the pymail Console Client
development options, Python Internet Development Options
fetching email via POP, POP: Fetching EmailFetching Email at the Interactive Prompt
handling multiple clients, Handling Multiple ClientsSummary: Choosing a Server Scheme
Internet applications and, Other Approaches
mailtools utility package, The mailtools Utility PackageRunning the pymail2 console client
parsing/composing mail content, email: Parsing and Composing Mail ContentSummary: Solutions and workarounds
processing Internet email, Processing Internet EmailUnicode in Python 3.X and Email Tools
protocol considerations, Clients and servers
PyMailGUI program and, “Use the Source, Luke”
Python support, “Socket to Me!”
sending email via SMTP, SMTP: Sending EmailSending Email at the Interactive Prompt
spawning clients in parallel, Spawning Clients in ParallelPreview: Denied client connections
transferring directories with ftplib, Transferring Directories with ftplibRefactoring with classes
transferring directory trees, Transferring Directory Trees with ftplibDownloading Remote Trees
transferring files over the Internet, FTP: Transferring Files over the Net
transferring files with ftplib, Transferring Files with ftplibAdding a User Interface
urllib module, The urllib Package RevisitedInvoking programs and escaping text
client/server architecture
defined, Clients and servers
transferring files, Transferring Files to Clients and ServersMore Than One Way to Push Bits over the Net
clipboard interface, Using the clipboard
clipping widgets, Widget Resizing Revisited: Clipping
closing files, Closing, Ensuring file closure: Exception handlers and context managersInput files
cloud computing, Python Internet Development Options
code files, What Is Embedded Code?
code strings
defined, What Is Embedded Code?
precompiling, Precompiling Strings to BytecodePrecompiling Strings to Bytecode
running in dictionaries, Running Strings in Dictionaries
running simple, Running Simple Code StringsCompiling and running
running with results/namespaces, Running Code Strings with Results and NamespacesRunning Code Strings with Results and Namespaces
colors, selecting on the fly, Letting users select colors on the fly
columns in files, summing, Summing Columns in a FileSumming with dictionaries
COM (Component Object Model), Python Internet Development Options, Other Integration Topics
command-line arguments
accessing, “I’d Like to Have an Argument, Please”
parsing, Parsing Command-Line Arguments
sys module and, Command-Line ArgumentsParsing Command-Line Arguments
command-line pipes
buffering and, Output stream buffering revisited: Deadlocks and flushes, Buffering in other contexts: Command pipes revisited
GUI programs and, Adding a GUI As a Separate Program: Command PipesOther uses for threaded pipe GUIs
sockets and, Sockets versus command pipes
command-line tools, ShellGui: GUIs for Command-Line ToolsRoom for improvement
common dialogs, Standard (Common) DialogsOther standard dialog calls
comparedirs function, Finding Directory Differences
comparing directory trees, Comparing Directory TreesReporting Differences and Other Ideas
connection objects (FTP)
cwd method, Uploading Local Trees
defined, IPC Tools: Pipes, Shared Memory, and Queues
mkd method, Uploading Local Trees
retrbinary method, Transferring Files with ftplib, Download utility, Downloading Site Directories
retrlines method, Download utility, Downloading Site Directories
storbinary method, Upload utility
storlines method, Upload utility
console window
avoiding DOS consoles, Avoiding DOS consoles on Windows
shelve interface, A Console Shelve InterfaceA Console Shelve Interface
console-based email client (see pymail console client)
constructors, customizing, Constructor customization
container classes, Standalone Container ClassesStandalone Container Classes
context managers
file closure and, Ensuring file closure: Exception handlers and context managersEnsuring file closure: Exception handlers and context managers
file filters and, File filters
threads and, Coding alternatives: busy loops, arguments, and context managersCoding alternatives: busy loops, arguments, and context managers
converting strings, String Method Basics, Converting strings in CGI scripts
cookies
creating, Creating a cookie
defined, HTTP “Cookies”
handling with urllib.request, Handling cookies with the urllib.request module
receiving, Receiving a cookie
security considerations, Secure cookies
using in CGI scripts, Using cookies in CGI scripts
coordinate system, canvas, Coordinates
copying directory trees, Copying Directory TreesCopying Directory Trees
CORBA
integration considerations, Other Integration Topics
ORB support, Python Internet Development Options
persistence options, Persistence Options in Python
counting source code lines, Counting Source Code Lines (Visitor)
cregister module, Registration Implementation
csh shell language, Redirecting input and output with subprocess
ctypes module
binary data and, Using a reusable form-layout class
functionality, Other Extending Tools
integration considerations, Extending and Embedding
shared memory and, IPC Tools: Pipes, Shared Memory, and Queues
current working directory
accessing, “I’d Like to Have an Argument, Please”
command lines and, CWD and Command Lines
defined, Current Working Directory
import paths and, CWD, Files, and Import Paths
CXX system, Other Extending Tools
Cygwin system
C extension module, A Simple C Extension Module
C++ extension class, A Simple C++ Extension Class
forking processes, Forking Processes, Spawned child program, Running the forking server
running code strings, Compiling and running
Cython system, Extending and Embedding, Other Extending Tools

D

Dabo builder, Python GUI Development Options
data structures
binary trees, Binary Search TreesTrees with Both Keys and Values
graph searching, Graph SearchingMoving Graphs to Classes
implementing sets, Implementing SetsAdding Relational Algebra to Sets (External)
implementing stacks, Implementing StacksMore on performance analysis
permuting sequences, Permuting SequencesPermuting Sequences
reversing/sorting sequences, Reversing and Sorting SequencesData Structures Versus Built-ins: The Conclusion
subclassing built-in types, Subclassing Built-in TypesSubclassing Built-in Types
databases, SQL Database Interfaces
(see also SQL databases)
additional information, Other Database Options
creating with SQLite, Making databases and tables
displaying with pprint module, Dictionaries of dictionaries
freely available interfaces, SQL Database Interfaces
server-side, Server-Side Databases
db.keys method, Dictionaries of dictionaries
DBM files
defined, Persistence Options in Python, DBM Files
shelve constraints and, Underlying DBM format portability
standard operations, Using DBM Files
Unicode and, Using Shelves
usage considerations, Using DBM FilesDBM Details: Files, Portability, and Close
dbm module, Using DBM Files, DBM Details: Files, Portability, and Close, Shelve Files
DCOM (Distributed Component Object Model), Python Internet Development Options
deadlocks, output stream buffering and, Output stream buffering revisited: Deadlocks and flushesOutput stream buffering revisited: Deadlocks and flushes
debugging CGI scripts, Debugging CGI scriptsDebugging CGI scripts
delete statement (SQL), Running updates
deleting remote trees, Deleting Remote TreesDeleting Remote Trees
dialog module, The Old-Style Dialog Module
dialogs
custom, Custom DialogsOther ways to be modal
flavors of, Dialogs
generating on demand, A dialog demo launcher barA dialog demo launcher bar
printing results, Printing dialog results and passing callback data with lambdasPrinting dialog results and passing callback data with lambdas
PyEdit text editor, Dialogs, Font dialog, Modal dialog state fix, New Grep dialog: Threaded and Unicode-aware file tree search
reusable Quit button, A “smart” and reusable Quit button
selecting colors on the fly, Letting users select colors on the fly
standard/common, Standard (Common) DialogsOther standard dialog calls
dialogTable module, A dialog demo launcher bar, Printing dialog results and passing callback data with lambdas
dictionaries
building, Building Record DictionariesAutomating with scripts and modules
of dictionaries, Dictionaries of dictionariesDictionaries of dictionaries
implementing graph searching, Implementing Graph Search
lists of, Lists of dictionaries
making, Other ways to make dictionaries
moving sets to, Optimization: Moving Sets to DictionariesTiming the results under Python 3.1
nested structures, Nested structures
record examples, Using Dictionaries
running code strings in, Running Strings in Dictionaries
summing with, Summing with dictionaries
dictionary iterators, Dictionaries of dictionaries
dir command
filename patterns, Running shell listing commands with os.popen
functionality, Module Documentation Sources
usage example, What’s a shell command?
dirdiff tool, Finding Tree DifferencesFinding Tree Differences
directories
displaying images in, Displaying all images in a directory
finding differences, Finding Directory DifferencesFinding Directory Differences
name conventions, Installing CGI scripts
reporting differences in, Reporting Differences and Other IdeasReporting Differences and Other Ideas
scanning, Scanning the Standard Library Directory
transferring with ftplib, Transferring Directories with ftplibRefactoring with classes
walking, Walking One DirectorySplitting and joining listing results, Visitor: Walking Directories “++”Other Visitor Examples (External)
web-based interfaces and, Directories, string formatting, and securityDirectories, string formatting, and security
directory paths
backslashes and, The Module Search Path
scanning, Scanning the Module Search PathScanning the Module Search Path
scripts and, CWD, Files, and Import Paths
splitting/joining listing results, Splitting and joining listing results
directory tools
handling Unicode filenames, Handling Unicode Filenames in 3.X: listdir, walk, globUnicode policies: File content versus file names
overview, Directory Tools
walking directory trees, Walking Directory TreesRecursive os.listdir traversals
walking one directory, Walking One DirectorySplitting and joining listing results
directory trees
cleaning up bytecode files, Cleaning Up Bytecode FilesCleaning Up Bytecode Files
comparing, Comparing Directory TreesReporting Differences and Other Ideas
copying, Copying Directory TreesCopying Directory Trees
editing files in, Editing Files in Directory Trees (Visitor)Editing Files in Directory Trees (Visitor)
finding differences, Finding Tree DifferencesFinding Tree Differences
global replacements in, Global Replacements in Directory Trees (Visitor)Global Replacements in Directory Trees (Visitor)
PyEdit text editor, New Grep dialog: Threaded and Unicode-aware file tree search
scanning, The os.walk visitorThe os.walk visitor, Scanning the Standard Library Tree
searching, Searching Directory TreesA Python Tree Searcher
transferring with ftplib, Transferring Directory Trees with ftplibDownloading Remote Trees
walking, Walking Directory TreesRecursive os.listdir traversals
disutils package, A Simple C Extension Module
Django framework, Python Internet Development Options, Keeping display and logic separate
__doc__ attribute
formatting display, Paging Documentation Strings
functionality, Module Documentation Sources
doctest framework, Running the Test Driver
documentation sources
modules, Module Documentation Sources
recent release manuals, The C Embedding API
XML parsing, Other XML topics
DOM parsers, XML and HTML Parsing, DOM parsing
DOS console, avoiding, Avoiding DOS consoles on Windows
DoubleVar class, tkinter “Variables” and Form Layout Alternatives
downloading files (see transferring files)
Drake, Fred L., Jr., Other XML topics
Durus system, The ZODB Object-Oriented Database

E

Earley algorithm, Advanced Language Tools
EBCDIC encoding, Unicode encodings for text files
editing files in directory trees, Editing Files in Directory Trees (Visitor)Editing Files in Directory Trees (Visitor)
EditVisitor class, Editing Files in Directory Trees (Visitor)
EIBTI acronym, The End of the Demo
ElementTree package, XML and HTML Parsing
ElementTree parsing, XML and HTML Parsing, ElementTree parsing
email
console-based client, A Console-Based Email ClientRunning the pymail Console Client
deleting, Deleting EmailDeleting Email
fetching at interactive prompt, Fetching Email at the Interactive Prompt
fetching via POP, POP: Fetching EmailFetching Email at the Interactive Prompt
handling HTML content, New in Version 3.0 (Fourth Edition), Handling HTML Content in Email
inbox synchronization errors, Inbox synchronization error potential
Internationalization and, New in Version 3.0 (Fourth Edition), Mail Content Internationalization SupportMail Content Internationalization Support
loading, Loading Mail
mailtools utility package, The mailtools Utility PackageRunning the pymail2 console client
parsing/composing mail content, email: Parsing and Composing Mail ContentSummary: Solutions and workarounds
processing over Internet, Processing Internet EmailUnicode in Python 3.X and Email Tools
reading with direct URLs, Reading mail with direct URLs
recipient options, Email Replies and Forwards and Recipient OptionsEmail Replies and Forwards and Recipient Options
replies and forwards, Email Replies and Forwards and Recipient OptionsEmail Replies and Forwards and Recipient Options
sending at interactive prompt, Sending Email at the Interactive Prompt
sending attachments, Sending Email and AttachmentsSending Email and Attachments, New in This Fourth Edition (Version 3.0)
sending by SMTP, SMTP: Sending EmailSending Email at the Interactive Prompt, Sending Mail by SMTPUsing the Send Mail Script Outside a Browser
Unicode encoding and, Unicode in Python 3.X and Email Tools
viewing attachments, Viewing Email and AttachmentsViewing Email and Attachments, New in the Prior Edition (Version 2.0)
email addresses, Message address header encodings and parsing, and header creationMessage address header encodings and parsing, and header creation
email module package
basic interfaces, Basic email Package Interfaces in ActionHandling multipart messages
functionality, Python’s Internet Library Modules, Unicode in Python 3.X and Email Tools, email: Parsing and Composing Mail Content
Internationalized headers, Message header encodings: email package support
limitations overview, Unicode, Internationalization, and the Python 3.1 email Package
message address headers, Message address header encodings and parsing, and header creationMessage address header encodings and parsing, and header creation
message composition issues, Workaround: Message composition for non-ASCII text parts is brokenWorkaround: Message composition for non-ASCII text parts is broken
Message objects, Message ObjectsMessage Objects
message text generation issues, Workaround: Message text generation for binary attachment payloads is brokenWorkaround: Message text generation for binary attachment payloads is broken
parser decoding requirement, Parser decoding requirementParser decoding requirement
PyMailCGI program and, Implementation Overview, The Message View Page
PyMailGUI program and, Viewing Email and Attachments, Email Replies and Forwards and Recipient Options, Ideas for Improvement
text payload encodings, Text payload encodings: Handling mixed type resultsText payload encodings: Using header information to decode
embedding integration mode
basic techniques, Basic Embedding TechniquesPrecompiling Strings to Bytecode
C embedding API, The C Embedding APIWhat Is Embedded Code?
defined, Extending and Embedding
registering callback handler objects, Registering Callback Handler ObjectsRegistration Implementation
enclosing scope reference mode, Passing in enclosing scope values with default argumentsBut you must still sometimes use defaults instead of enclosing scopes
encryption, password, POP Password EncryptionRolling your own encryptor
end-of-line character ( )
CGI scripts, Installing CGI scripts
overview, A Custom Paging Script
in text files, End-of-line translations for text filesEnd-of-line translations for text files
Text widget and, Text is a Python string
endian-ness, Parsing packed binary data with the struct module
Entry widget class
associated variables and, tkinter “Variables” and Form Layout Alternativestkinter “Variables” and Form Layout Alternatives
functionality, The End of the Tutorial, EntryProgramming Entry widgets
laying out input forms, Laying Out Input FormsGoing modal again
programming widgets, Programming Entry widgets
xscrollcommand option, Programming Scroll Bars
xview method, Programming Scroll Bars
yscrollcommand option, Programming Scroll Bars
yview method, Programming Scroll Bars
environment variables (see shell variables)
eval function
C API equivalent, The C Embedding API
converting strings, Converting strings in CGI scripts
parsing support, Advanced Language Tools
PyCalc support, Building the GUI, Running code strings
Evaluator class, Evaluating expressions with stacks
event handlers (see callback handlers)
events
binding, Binding Events, Binding EventsMore on <Destroy> events and the quit and destroy methods, Binding events on specific itemsBinding events on specific items
Canvas widget support, Using Canvas EventsBinding events on specific items
mouse-related, Binding EventsMore on <Destroy> events and the quit and destroy methods
routing, Registration Implementation
triggering, Registration Implementation
exception handlers, file closure and, Ensuring file closure: Exception handlers and context managersEnsuring file closure: Exception handlers and context managers
exec function
C API equivalent, The C Embedding API
converting strings, Converting strings in CGI scripts
parsing support, Advanced Language Tools
PyCalc support, Building the GUI, Running code strings
exit status
forking processes and, Process Exit Status and Shared State
shell command codes, Shell Command Exit Status CodesExit status with subprocess
threads and, Thread Exits and Shared StateThread Exits and Shared State
Expat parser, XML and HTML Parsing
extend list operator, A database list
extending integration mode
additional tools, Other Extending ToolsOther Extending Tools
defined, Extending and Embedding
overview, Extending Python in C: Overview
simple C module, A Simple C Extension Module
simple C++ class, A Simple C++ Extension ClassA Simple C++ Extension Class
SWIG tool, The SWIG Integration Code GeneratorA Simple SWIG Example

F

f2py system, Other Extending Tools
FastCGI extension, Extensions to the CGI Model
FFI (foreign function interface), Other Extending Tools
field labels (lists), Field labelsField labels
FieldStorage class, Response script, Adding Common Input Devices, The Hello World Selector, Passing State Information in URL Link Parameters
fifos (see named pipes)
file descriptors
defined, Anonymous pipe basics
wrapping in file objects, Wrapping descriptors in file objects, Wrapping pipe descriptors in file objects
file download system, A Simple Python File ServerUsing a reusable form-layout class
file objects
alternate open options, Other open options
built-in, Using Built-in File ObjectsOther open options
close method, Output files, Closing
defined, File Tools
ensuring closure, Ensuring file closure: Exception handlers and context managersEnsuring file closure: Exception handlers and context managers
file object model, The File Object Model in Python 3.X
input files, Input filesInput files
output files, Output filesClosing
read method, Input files
readline method, Input files, Reading lines with file iterators
readlines method, Input files, Input files, Reading lines with file iterators, Summing Columns in a File
seek method, Random access files
wrapping descriptors in, Wrapping descriptors in file objects, Wrapping pipe descriptors in file objects
write method, Output files
writelines method, Writing
file scanners, File ScannersFile filters
file tools
binary files, The File Object Model in Python 3.X, Binary and Text FilesRandom access files
built-in file objects, Using Built-in File ObjectsOther open options
file object model, The File Object Model in Python 3.X
file scanners, File ScannersFile filters
os module support, Lower-Level File Tools in the os Module
overview, File Tools
text files, The File Object Model in Python 3.X, Binary and Text FilesRandom access files
File Transfer Protocol (see FTP)
files, Test data script
(see also formatted files)
closing, Closing, Ensuring file closure: Exception handlers and context managersInput files
code files, What Is Embedded Code?
current working directory and, CWD, Files, and Import Paths
editing in directory trees, Editing Files in Directory Trees (Visitor)Editing Files in Directory Trees (Visitor)
joining, Joining Files PortablyJoining Files Portably, Usage VariationsUsage Variations
loading database tables, Loading Database Tables from FilesPython versus SQL
name conventions, File name conventions, Installing CGI scripts
opening, Opening, Other open options
persistence options, Persistence Options in Python
private, Handling private files and errorsHandling private files and errors
redirecting streams to, Redirecting Streams to Files and ProgramsCoding alternatives for adders and sorters
sockets looking like, Making Sockets Look Like Files and StreamsSockets versus command pipes
splitting, Splitting Files PortablySplitting Files Portably, Usage VariationsUsage Variations
summing columns in, Summing Columns in a FileSumming with dictionaries
system scripting and, File Operation Basics
transferring over the Internet, FTP: Transferring Files over the Net, Using urllib to Download FilesUsing urllib to Download Files
transferring to clients/servers, Transferring Files to Clients and ServersMore Than One Way to Push Bits over the Net
transferring with ftplib, Transferring Files with ftplibAdding a User Interface
Unicode text in, Unicode text in files
writing, Writing
FileVisitor class, Visitor: Walking Directories “++”Visitor: Walking Directories “++”
filters
file scanning and, File filters
spam, Ideas for Improvement
find module, Rolling Your Own find ModuleThe fnmatch module
find shell command, Greps and Globs and Finds
flash method, Using the after Method
Flex framework, Python GUI Development Options
FLI format, Graphics and gaming toolkits
flushes
deadlocks and, Output stream buffering revisited: Deadlocks and flushes
output stream buffering and, Output stream buffering revisited: Deadlocks and flushesOutput stream buffering revisited: Deadlocks and flushes
fnmatch module, The glob module, The fnmatch moduleThe fnmatch module
font input dialog, Font dialog
foreign function interface (FFI), Other Extending Tools
forking processes
fork/exec combination, The fork/exec CombinationSpawned child program
functionality, “Telling the Monkeys What to Do”, Forking ProcessesForking Processes
obtaining exit status, Process Exit Status and Shared State
obtaining shared state, Process Exit Status and Shared State
os.exec call formats, os.exec call formats
server considerations, Forking ServersWhy multiprocessing doesn’t help with socket server portability
spawned child program, Spawned child program
formatted files
data format script, Data format scriptData format script
test data script, Test data script
utility scripts, Utility scripts
forms
action option, More on form tags
changing input layouts, Changing Input LayoutsKeeping display and logic separate
HTML tags, Submission pageMore on form tags
input, Laying Out Input FormsGoing modal again, Grid Basics: Input Forms Revisited
input fields, More on form tags
laying out with tables, Using Tables to Lay Out FormsDebugging CGI scripts
method option, More on form tags
mocking up inputs, The Hello World Selector
passing parameters in hidden fields, Passing Parameters in Hidden Form Fields, Hidden Form Input Fields
reusable form mock-up utility, Step 2: A Reusable Form Mock-Up UtilityStep 2: A Reusable Form Mock-Up Utility
sharing objects between pages, Step 1: Sharing Objects Between Pages—A New Input FormStep 1: Sharing Objects Between Pages—A New Input Form
FORTRAN language, Other Extending Tools
forward slash (/), The Module Search Path
Frame widget class
adding multiple widgets, Adding Multiple Widgets
attaching widgets to frames, Attaching Widgets to Frames
functionality, The End of the Tutorial
GUI considerations, Using OOP for GUIs, Reusable GUI Components with Classes
menus, Frame- and Menubutton-Based MenusUsing Menubuttons and Optionmenus
frozen binaries, Future directions, Ideas for Improvement
FTP (File Transfer Protocol)
functionality, FTP: Transferring Files over the Net
get and put utilities, FTP get and put UtilitiesPlaying the Monty Python theme song
timeout errors, Uploading Site Directories
FTP objects
cwd method, Uploading Local Trees
delete method, Uploading Site Directories
mkd methods, Uploading Local Trees
nlst method, Downloading Site Directories, Uploading Site Directories
ftplib module
adding user interface, Adding a User InterfaceAdding a User Interface
functionality, Python’s Internet Library Modules, Python’s Internet Library Modules
transferring directories, Transferring Directories with ftplibRefactoring with classes
transferring directory trees, Transferring Directory Trees with ftplibDownloading Remote Trees
transferring files, Transferring Files with ftplibAdding a User Interface
functions
CGI scripts and, Passing parameters in URLs
refactoring scripts with, Refactoring with functionsRefactoring with functions
sets and, Set FunctionsSupporting multiple operands
threads and, Threads

G

gaming toolkits, Graphics and gaming toolkits
gcc command, A Simple C Extension Module
generator functions, The os.walk visitor
geometry managers
grid, Going modal again, Layout options: Gridding, GridsLaying Out Larger Tables with grid, Comparing grid and packSpanning columns and rows, Using grids and function calls
packer, Geometry Managers, Widget Resizing Basics, Layout: Packing Order and Side AttachmentsUsing Anchor to Position Instead of Stretch, Comparing grid and packLaying Out Larger Tables with grid
getaddresses utility, Message address header encodings and parsing, and header creation
getfile module
FTP-based, FTP: Transferring Files over the Net, Download utility
server-side examples, Viewing Server-Side Examples and Output, Handling private files and errors, Uploading Client Files to the Server, More Than One Way to Push Bits over the Net
socket-based, A Simple Python File ServerA Simple Python File Server
getopt module, Parsing Command-Line Arguments
getpass.getpass method, Transferring Files with ftplib
GIL (global interpreter lock)
atomic operations, Atomic operations
C API thread considerations, C API thread considerations
functionality, More on the Global Interpreter LockMore on the Global Interpreter Lock
multiprocessing and, A process-based alternative: multiprocessing (ahead)
thread switch interval, The thread switch interval
threads and, Threads
Gilligan factor, The “Gilligan Factor”
glob module
button images, Fun with Buttons and Pictures
functionality, Using Per-Record Pickle Files, Python System Modules, The glob module
glob function, The glob module, Handling Unicode Filenames in 3.X: listdir, walk, glob
scanning directories, Scanning the Standard Library Directory
searching directory trees, Greps and Globs and Finds
global interpreter lock (see GIL)
global variables
arguments versus, Arguments versus globals, Arguments versus globals
multiprocessing module and, Shared memory and globalsShared memory and globals
Google App Engine, Python Internet Development Options
Grail browser, Running Examples in This Part of the Book
graph searching
defined, Graph Searching
implementing, Implementing Graph SearchImplementing Graph Search
moving graphs to classes, Moving Graphs to ClassesMoving Graphs to Classes
graphical user interface (see GUI)
grep command, Greps and Globs and Finds, New Grep dialog: Threaded and Unicode-aware file tree searchGrep Unicode model
grid geometry manager
combining with packer, Combining grid and packCombining grid and pack
file download system, Using grids and function calls
functionality, Going modal again, Layout options: Gridding, Grids
input forms, Grid Basics: Input Forms Revisited
laying out larger tables, Laying Out Larger Tables with gridLaying Out Larger Tables with grid
making expandable, Making Gridded Widgets Expandable
packer comparison, Comparing grid and packComparing grid and pack
reasons for using, Why Grids?
resizing in grids, Resizing in grids
spanning rows/columns, Spanning columns and rows
GUI (graphical user interface), GUI Programming Topics
(see also tkinter module)
adding buttons, Adding Buttons and CallbacksWidget Resizing Revisited: Expansion
adding callback handlers, Adding User-Defined Callback HandlersBinding Events
adding callbacks, Adding Buttons and CallbacksWidget Resizing Revisited: Expansion
adding multiple widgets, Adding Multiple WidgetsUsing Anchor to Position Instead of Stretch
adding to non-GUI code, More Ways to Add GUIs to Non-GUI CodeOther uses for threaded pipe GUIs
additional information, Where to Go from Here
attaching frames, Attaching FramesConfiguring at construction time
basic functionality, GUI BasicsGUI Basics
building for PyCalc, Building the GUI
coding techniques, Coding the GUI, “Hello World” in Four Lines (or Less), GUIs, Threads, and QueuesGUIs, Threads, and Queues
for command-line tools, ShellGui: GUIs for Command-Line ToolsRoom for improvement
customizing, Using OOP for GUIs
customizing widgets with classes, Customizing Widgets with ClassesCommon appearance
development options, Python GUI Development OptionsPython GUI Development Options
geometry managers, Geometry Managers
Hello World program, “Hello World” in Four Lines (or Less), One More for Old Times’ Sake
independent windows, Independent WindowsIndependent Windows
inputting user data, Getting Input from a User
making widgets, Making Widgets
OOP considerations, Using OOP for GUIsUsing OOP for GUIs
programming suggestions, Future directionsFuture directions, GUI Programming Topics
reloading callback handlers, Reloading Callback Handlers DynamicallyReloading Callback Handlers Dynamically
reusable components, Reusable GUI Components with ClassesStandalone Container Classes
running programs, Running the Examples, Running GUI Programs, Running ProgramsCoding for reusability
shelve interface, A GUI Shelve InterfaceFuture directions
threads and, Preview: GUIs and ThreadsPreview: GUIs and Threads, Using Threads with tkinter GUIsUsing Threads with tkinter GUIs, Thread exits in GUIs, Updating GUIs within threads…and other nonsolutions
toolkit suggestions, Future directions
GuiMaker tool
BigGui client demo program, BigGui: A Client Demo ProgramBigGui: A Client Demo Program
classes supported, GuiMaker Classes
functionality, GuiMaker: Automating Menus and ToolbarsGuiMaker: Automating Menus and Toolbars
self-test, GuiMaker Self-Test
subclass protocols, Subclass Protocols
GuiMixin tool
functionality, Automating menu construction, GuiMixin: Common Tool Mixin Classes
mixin utility classes, Mixin Utility ClassesMixin Utility Classes
PyCalc program, Running PyCalc
widget builder functions, Widget Builder Functions
GuiStreams tool
functionality, GuiStreams: Redirecting Streams to WidgetsGuiStreams: Redirecting Streams to Widgets
redirecting packing scripts, Using Redirection for the Packing Scripts

H

hashing technique, Using DBM Files
Hello World program, “Hello World” in Four Lines (or Less), One More for Old Times’ Sake, The Hello World SelectorChecking for Missing and Invalid Inputs
help function, Paging Documentation Strings
hidden fields
passing header text in, Alternative: Passing header text in hidden input fields (PyMailCGI_2.1)Alternative: Passing header text in hidden input fields (PyMailCGI_2.1)
passing parameters in, Passing Parameters in Hidden Form Fields, Hidden Form Input Fields
passing state information in, Passing State Information in HTML Hidden Input Fields
HList widget, Ideas for Improvement
holmes expert system shell
functionality, More on the holmes expert system shell
rule strings, Parsing and Unparsing Rule Strings
HTML
basic overview, HTML basics
building web pages with, A First Web Page
CGI script escape conventions, More on HTML and URL EscapesAvoiding conflicts
escaping mail text/passwords, Escaping Mail Text and Passwords in HTMLEscaping Mail Text and Passwords in HTML
file permission constraints, HTML file permission constraints
form tags, Submission pageMore on form tags
hidden input fields, Passing State Information in HTML Hidden Input Fields
Internet applications and, Other Approaches
parsing support, Python Internet Development Options, XML and HTML Parsing, HTML Parsing in ActionExtracting plain text from HTML (revisited)
PyMailGUI text extraction, New in Version 3.0 (Fourth Edition), Handling HTML Content in Email
table tags, Table tags
URL conflicts and, HTML and URL conflicts: &
html.entities module, Handling HTML entity references (revisited)
html.parser module
fetched data considerations, HTTP: Accessing Websites
functionality, Python’s Internet Library Modules, XML and HTML Parsing, HTML Parsing in ActionExtracting plain text from HTML (revisited)
screen scraping support, Python Internet Development Options
HTMLgen tool, Python Internet Development Options
HTTP
accessing websites, HTTP: Accessing WebsitesHTTP: Accessing Websites
cookie support, HTTP “Cookies”Handling cookies with the urllib.request module
http.client module, Python’s Internet Library Modules, HTTP: Accessing Websites
http.cookiejar module, Python’s Internet Library Modules, HTTP “Cookies”, Handling cookies with the urllib.request module
http.cookies module, Python’s Internet Library Modules, HTTP “Cookies”
http.server module, Python’s Internet Library Modules, HTTP: Accessing Websites
HTTPS (secure HTTP), HTTPS: Secure HTTP transmissions
HTTP_COOKIE environment variable, Receiving a cookie
hyperlinks, Ideas for Improvement, HTML basics, Passing Parameters in Hardcoded URLsPassing Parameters in Hardcoded URLs

I

IANA (Internet Assigned Numbers Authority), Python’s Internet Library Modules
Icon language, Enter Python
IDLE interface
functionality, tkinter Extensions
running GUI programs, Running GUI Programs
text editor positioning issues, Update for initial positioning
IETF (Internet Engineering Task Force), Python’s Internet Library Modules
images
adding with CGI scripts, Adding Pictures and Generating TablesTable tags
displaying, ImagesFun with Buttons and Pictures
processing with PIL, Viewing and Processing Images with PILScrolling and canvases (ahead)
scrolling, Scrolling images too: PyPhoto (ahead)
thumbnails, Creating Image Thumbnails with PILScrolling and canvases (ahead), Scrollable Canvases and Image ThumbnailsScrolling images too: PyPhoto (ahead)
in toolbars, Using images in toolbars, tooUsing images in toolbars, too
ImageTk module, Scrollable Canvases and Image Thumbnails
imaplib module, Python’s Internet Library Modules, Processing Internet Email
__import__ function, Importing by name string
independent programs
sockets and, Sockets and independent programs
starting, Starting Independent Programs
independent windows, Independent WindowsIndependent Windows
indexes, Text indexes
inheritance
classes and, Adding Inheritance
SimpleEditor class and, Composition versus inheritance
Input class, Redirecting Streams to Python Objects
input files, Input filesInput files, Unicode file and display model
input forms
grid basics, Grid Basics: Input Forms Revisited
laying out, Laying Out Input FormsGoing modal again
input function, Standard Streams
input/output streams
capturing stderr stream, Capturing the stderr Stream
CGI scripts and, Writing CGI Scripts in Python
io.BytesIO class, The io.StringIO and io.BytesIO Utility Classes
io.StringIO class, The io.StringIO and io.BytesIO Utility Classes
output stream buffering, Output stream buffering: A first look, Output stream buffering revisited: Deadlocks and flushesOutput stream buffering revisited: Deadlocks and flushes
PyMailCGI program and, Common Utilities Module
redirecting print calls, Redirection Syntax in Print Calls
redirecting to files/programs, Redirecting Streams to Files and ProgramsCoding alternatives for adders and sorters
redirecting to Python objects, Redirecting Streams to Python ObjectsRedirecting Streams to Python Objects
redirecting to widgets, GuiStreams: Redirecting Streams to WidgetsUsing Redirection for the Packing Scripts
redirecting with os.popen, Other Redirection Options: os.popen and subprocess Revisited, Redirecting input or output with os.popen
redirecting with subprocess, Other Redirection Options: os.popen and subprocess Revisited, Redirecting input and output with subprocessRedirecting input and output with subprocess
redirection utility, A Stream Redirection UtilitySockets versus command pipes
sockets looking like, Making Sockets Look Like Files and StreamsSockets versus command pipes
standard streams, “I’d Like to Have an Argument, Please”, Standard Streams
user interaction and, Redirected Streams and User InteractionRedirected Streams and User Interaction
insert command (SQL), Adding records
Inter-Process Communication (see IPC)
interact function, Redirecting Streams to Files and Programs
Internationalization
i18n message headers, Message header encodings: email package supportMessage header encodings: email package support, New in This Fourth Edition (Version 3.0)
mail content support, New in Version 3.0 (Fourth Edition), Mail Content Internationalization SupportMail Content Internationalization Support
Internet Assigned Numbers Authority (IANA), Python’s Internet Library Modules
Internet Engineering Task Force (IETF), Python’s Internet Library Modules
Internet Service Providers (ISPs), Generating Redirection Web Pages, Transferring Directories with ftplib, POP: Fetching Email
Internet-related scripting
development options, Python Internet Development OptionsPython Internet Development Options
handling multiple clients, Handling Multiple ClientsSummary: Choosing a Server Scheme
library modules and, Python’s Internet Library ModulesPython’s Internet Library Modules
protocols and, The Protocol LayerProtocol structures
Python file server, A Simple Python File ServerUsing a reusable form-layout class
sockets and, The Socket LayerMachine identifiers, Socket ProgrammingBinding reserved port servers
sockets like files/streams, Making Sockets Look Like Files and StreamsSockets versus command pipes
IntVar class, tkinter “Variables” and Form Layout Alternatives
io.BytesIO class, The io.StringIO and io.BytesIO Utility Classes
io.StringIO class, The io.StringIO and io.BytesIO Utility Classes
IPC (Inter-Process Communication)
anonymous pipes, Interprocess Communication, Anonymous PipesOutput stream buffering revisited: Deadlocks and flushes
bidirectional, Bidirectional IPC with anonymous pipesBidirectional IPC with anonymous pipes
FastCGI and, Extensions to the CGI Model
multiprocessing module and, Interprocess Communication, IPC Tools: Pipes, Shared Memory, and QueuesQueues and subclassing
named pipes, Interprocess Communication, Named Pipes (Fifos)Named pipe use cases
overview, Interprocess Communication
shared memory, Interprocess Communication
signals, Interprocess Communication, SignalsSignals
sockets, Python System Modules, Interprocess Communication, Sockets: A First LookSocket use cases, The Socket Layer
IronPython
development options, Python Internet Development Options
integration considerations, Extending and Embedding, Other Integration Topics
overview, Python GUI Development Options, Other Extending Tools
ISPs (Internet Service Providers), Generating Redirection Web Pages, Transferring Directories with ftplib, POP: Fetching Email
iterators, line, Other os Module Exports, Reading lines with file iteratorsReading lines with file iterators, File filters

L

Label widget class
functionality, The End of the Tutorial
pack method, Packing Widgets Without Saving Them
LabelFrame widget class, Other Widgets and Options
labels
bg option, Configuring Widget Appearance
customizing, Configuring Widget Appearance
expand option, Configuring Widget Appearance
fg option, Configuring Widget Appearance
fill option, Configuring Widget Appearance
font attribute, Configuring Widget Appearance
height attribute, Configuring Widget Appearance
pack option, Configuring Widget Appearance
width attribute, Configuring Widget Appearance
LALR parsers, Advanced Language Tools
lambda callback handlers
callback scope issues, Callback Scope IssuesBut you must still sometimes use defaults instead of enclosing scopes
deferring calls, Deferring Calls with Lambdas and Object ReferencesDeferring Calls with Lambdas and Object References
functionality, Lambda Callback Handlers
LAMP acronym, Other themes in this part of the book
language analysis (see text processing and language analysis)
languages2common module, Step 1: Sharing Objects Between Pages—A New Input Form
languages2reply module, Step 3: Putting It All Together—A New Reply ScriptStep 3: Putting It All Together—A New Reply Script
launchmodes module, A Portable Program-Launch Framework, Running Programs
lexical analysis (see text processing and language analysis)
library modules, Python’s Internet Library ModulesPython’s Internet Library Modules
line buffering, Line bufferingLine buffering
Lisp language, Enter Python
LIST command (FTP), Downloading Site Directories
list comprehensions, summing with, Summing with zips and comprehensions
list operators
append, A database list, Nested structures
extend, A database list
functionality, Using Lists
Listbox widget class
curselection method, Programming Listboxes
functionality, The End of the Tutorial, Listboxes and Scrollbars
insert method, Programming Listboxes
programming, Programming ListboxesProgramming Listboxes
runCommand method, Programming Listboxes
xscrollcommand option, Programming Scroll Bars
xview method, Programming Scroll Bars
yscrollcommand option, Programming Scroll Bars
yview method, Programming Scroll Bars
lists
database lists, A database list
of dictionaries, Lists of dictionaries
field labels, Field labelsField labels
in-place modifications, Optimization: In-Place List ModificationsOptimization: In-Place List Modifications
sample records, Using Lists
stacks as, Built-in Options
loops
threads and, Coding alternatives: busy loops, arguments, and context managersCoding alternatives: busy loops, arguments, and context managers
time.sleep, Simple Animation Techniques, Using time.sleep loopsUsing time.sleep loops, Using multiple time.sleep loop threads
ls command
filename patterns, Running shell listing commands with os.popen
shell command limitations, Shell command limitations

M

M2Crypto third-party package, HTTPS: Secure HTTP transmissions
Mac environment
language support, Other Extending Tools
programming user interfaces, Python GUI Development Options, Python GUI Development Options
tkinter support, Running the Examples
machine names, Machine identifiers
mail configuration module, Mail Configuration ModulePOP Mail Reader Script, Implementation Overview, Using the Send Mail Script Outside a Browser
mail reader tool, POP: Fetching Email, POP Mail Reader ScriptFetching Messages
mail sender script, SMTP Mail Sender ScriptSending Email at the Interactive Prompt
mailbox module, Python’s Internet Library Modules
MailFetcher class, MailFetcher ClassMailParser Class
MailParser class, MailParser Class
MailSender class, MailSender ClassMailFetcher Class
MailTool class, MailTool Class
mailtools utility package
initialization file, Initialization File
MailFetcher class, MailFetcher ClassMailParser Class
MailParser class, MailParser Class
MailSender class, MailSender ClassMailFetcher Class
MailTool class, MailTool Class
overview, The mailtools Utility Package
pymail client and, Updating the pymail Console ClientRunning the pymail2 console client
PyMailCGI and, Implementation Overview, The Mail Selection List Page, The Message View Page, POP Mail Interface
PyMailGUI and, Sending Email and Attachments, POP Message Numbers and Synchronization
selftest.py module, The mailtools Utility Package, Self-Test ScriptUpdating the pymail Console Client
mainloop function (tkinter), tkinter Coding Basics, tkinter Coding Alternatives
marks, text, Text marks
match objects (re module), First Examples
media files, playing, Playing Media FilesRunning the Script
Menu widget class
add_cascade method, Top-Level Window Menus
functionality, The End of the Tutorial, Top-Level Window MenusTop-Level Window Menus
Menubutton widget class, The End of the Tutorial, Frame- and Menubutton-Based MenusUsing Menubuttons and Optionmenus
menus
automating, Automating menu construction, GuiMaker: Automating Menus and ToolbarsBigGui: A Client Demo Program
defined, Menus
displaying in windows, Windows with Both Menus and ToolbarsWindows with Both Menus and Toolbars
frame-based, Frame- and Menubutton-Based MenusUsing Menubuttons and Optionmenus
menubutton-based, Frame- and Menubutton-Based MenusUsing Menubuttons and Optionmenus
PyEdit text editor, Menus and toolbars
top-level, Top-Level Window MenusTop-Level Window Menus
message headers
email addresses, Message address header encodings and parsing, and header creationMessage address header encodings and parsing, and header creation
Internationalized, Message header encodings: email package support
mailtools utility package, Unicode issues for attachments, save files, and headers, Unicode decoding for text part payloads and message headers
passing text in hidden fields, Alternative: Passing header text in hidden input fields (PyMailCGI_2.1)Alternative: Passing header text in hidden input fields (PyMailCGI_2.1)
Message objects
composing messages, Basic email Package Interfaces in ActionHandling multipart messages
functionality, Message ObjectsMessage Objects
get_content_charset method, Text payload encodings: Using header information to decode
get_payload method, Text payload encodings: Handling mixed type results
multipart messages, Handling multipart messages
Message Passing Interface (MPI) standard, “Telling the Monkeys What to Do”
Message widget class, The End of the Tutorial, Message
messagebox module, Standard (Common) Dialogs
MFC (Microsoft Foundation Classes), Python GUI Development Options
mimetypes module
functionality, The Python mimetypes ModuleUsing mimetypes guesses for SearchVisitor, Python’s Internet Library Modules
guess_extension method, Message Objects
guess_type method, Message Objects
playing media files, Playing Media FilesPlaying Media Files
selecting transfer modes, Downloading Site Directories, Uploading Site Directories
minimal URLs, Using minimal URLs, Step 1: Sharing Objects Between Pages—A New Input Form
mixin utility classes, Mixin Utility ClassesMixin Utility Classes
mmap module, Interprocess Communication
model-view-controller (MVC) structure, Python Internet Development Options
module documentation sources, Module Documentation Sources
mod_python module, Python Internet Development Options, Web Server Options, Extensions to the CGI Model
Monty Python theme song, Playing the Monty Python theme song
more function
chaining with pipes, Chaining programs with pipes
functionality, A Custom Paging Script
mouse-related events, Binding EventsMore on <Destroy> events and the quit and destroy methods
MPEG format, Graphics and gaming toolkits
MPI (Message Passing Interface) standard, “Telling the Monkeys What to Do”
multiplexing servers, Multiplexing Servers with selectSummary: Choosing a Server Scheme
multiprocessing (see parallel processing)
multiprocessing module
additional tools supported, And Much MoreAnd a little less…
constraints, And a little less…
functionality, Python System Modules, The multiprocessing ModuleWhy multiprocessing?
GIL and, A process-based alternative: multiprocessing (ahead)
implementation, Implementation and usage rules
IPC support, Interprocess Communication, IPC Tools: Pipes, Shared Memory, and QueuesQueues and subclassing
launching GUIs as programs, Launching GUIs as programs other ways: multiprocessingLaunching GUIs as programs other ways: multiprocessing
processes and locks, The Basics: Processes and LocksImplementation and usage rules
socket server portability and, Why multiprocessing doesn’t help with socket server portabilityWhy multiprocessing doesn’t help with socket server portability
starting independent programs, Starting Independent Programs
usage rules, Implementation and usage rules
Musciano, Chuck, “Oh, What a Tangled Web We Weave”
MVC (model-view-controller) structure, Python Internet Development Options
mysql-python interface, Persistence Options in Python

N

name conventions
CGI scripts, Installing CGI scripts
files, File name conventions
__name__ variable, Using Programs in Two Ways
named pipes
basic functionality, Named pipe basicsNamed pipe basics
creating, Named Pipes (Fifos)
defined, Interprocess Communication, Anonymous Pipes
use cases, Named pipe use cases
namespaces
creating, Running Strings in Dictionaries
running code strings with, Running Code Strings with Results and NamespacesRunning Code Strings with Results and Namespaces
natural language processing, Advanced Language Tools
nested structures
dictionaries, Nested structures
pickling, Pickled Objects, Pickling in Action
uploading local trees, Uploading Local TreesUploading Local Trees
Network News Transfer Protocol (NNTP), NNTP: Accessing NewsgroupsNNTP: Accessing Newsgroups, More Than One Way to Push Bits over the Net
network scripting
development options, Python Internet Development OptionsPython Internet Development Options
handling multiple clients, Handling Multiple ClientsSummary: Choosing a Server Scheme
library modules and, Python’s Internet Library ModulesPython’s Internet Library Modules
making sockets look like files/streams, Making Sockets Look Like Files and StreamsSockets versus command pipes
protocols and, The Protocol LayerProtocol structures
Python file server, A Simple Python File ServerUsing a reusable form-layout class
sockets and, The Socket LayerMachine identifiers, Socket ProgrammingBinding reserved port servers
newsgroups
accessing, NNTP: Accessing NewsgroupsNNTP: Accessing Newsgroups
handling messages, Ideas for Improvement
NLTK suite, Advanced Language Tools
NNTP (Network News Transfer Protocol), NNTP: Accessing NewsgroupsNNTP: Accessing Newsgroups, More Than One Way to Push Bits over the Net
nntplib module, Python’s Internet Library Modules, NNTP: Accessing NewsgroupsNNTP: Accessing Newsgroups
numeric tools, A Quick Geometry Lesson
NumPy programming extension, A Quick Geometry Lesson, Extending and Embedding

O

object references
callback handlers as, Reloading Callback Handlers Dynamically
deferring calls, Deferring Calls with Lambdas and Object ReferencesDeferring Calls with Lambdas and Object References
object relational mappers (see ORMs)
Object Request Broker (ORB), Python Internet Development Options
object types, storing in shelves, Storing Built-in Object Types in Shelves
object-oriented databases (OODBs), Persistence Options in Python
object-oriented programming (see OOP)
objects
callable, What Is Embedded Code?, Calling Python ObjectsCalling Python Objects, Registering Callback Handler ObjectsRegistration Implementation
changing classes, Changing Classes of Objects Stored in Shelves
converting to strings, Pickled Objects
pickled, Persistence Options in Python, Pickled ObjectsPickle Details: Protocols, Binary Modes, and _pickle
sharing between pages, Step 1: Sharing Objects Between Pages—A New Input FormStep 1: Sharing Objects Between Pages—A New Input Form
shelve constraints, Objects are unique only within a key
offline processing, PyMailGUI program, Offline Processing with Save and OpenOffline Processing with Save and Open
onSignal handler function, Signals
OODBs (object-oriented databases), Persistence Options in Python
OOP (object-oriented programming)
adding behavior, Adding Behavior
adding inheritance, Adding Inheritance
adding persistence, Adding PersistenceAdding Persistence
alternative database options, Other Database Options
class considerations, Using ClassesUsing Classes
GUI considerations, Using OOP for GUIsUsing OOP for GUIs
programming considerations, Step 3: Stepping Up to OOPStep 3: Stepping Up to OOP, Python Is OOP Done Right
refactoring code, Refactoring CodeAlternative classes
open function
buffering policy, Other open options
functionality, File Tools, Using Built-in File Objects
modes supported, Other open options
open source software, This Chapter’s Strategy, Python’s Internet Library Modules
opening files, Opening, Other open options
optimization
in-place list modifications, Optimization: In-Place List ModificationsOptimization: In-Place List Modifications
moving sets to dictionaries, Optimization: Moving Sets to DictionariesTiming the results under Python 3.1
tuple tree stacks, Optimization: Tuple Tree StacksOptimization: Tuple Tree Stacks
Optionmenu widget class, Using Menubuttons and Optionmenus
optparse module, Parsing Command-Line Arguments
ORB (Object Request Broker), Python Internet Development Options
ORMs (object relational mappers)
database options, Other Database Options, Python Internet Development Options
functionality, Persistence Options in Python, ORMs: Object Relational MappersORMs: Object Relational Mappers
os module
administrative tools, Administrative Tools
chdir function, Administrative Tools, Current Working Directory
chmod function, Other os module file tools
close function, Bidirectional IPC with anonymous pipes
dup function, Redirecting input and output with subprocess
dup2 function, Bidirectional IPC with anonymous pipes
environ mapping
accessing environment variables, Wrapping C Environment Calls
accessing shell variables, Shell Environment Variables
changing shell variables, Changing Shell Variables
Env object, Adding Wrapper Classes to Flat Libraries
functionality, Other os Module Exports, “I’d Like to Have an Argument, Please”
execl function, os.exec call formats
execle function, os.exec call formats
execlp function, Other os Module Exports, The fork/exec CombinationSpawned child program, os.exec call formats
execlpe function, os.exec call formats
execv function, os.exec call formats
execve function, os.exec call formats
execvp function, os.exec call formats, Bidirectional IPC with anonymous pipes
execvpe function, os.exec call formats
_exit function, os Module Exits
fdopen function, Wrapping descriptors in file objects, Wrapping pipe descriptors in file objects
file tools supported, Lower-Level File Tools in the os Module
fork function
functionality, Other os Module Exports, Forking Processes, Bidirectional IPC with anonymous pipes
os.execlp combination, The fork/exec CombinationSpawned child program
redirecting streams, Redirecting input and output with subprocess
forking tools, Forking Processes
functionality, System Scripting Overview, Python System Modules, Introducing the os Module
getcwd function, Administrative Tools, “I’d Like to Have an Argument, Please”
getenv function, Shell Variable Fine Points: Parents, putenv, and getenv
getpid function, Administrative Tools, Forking Processes
kill function, Signals, Preventing zombies with signal handlers on Linux
linesep character, Portability Constants
listdir function
fetching list of remote files, Downloading Site Directories
handling Unicode filenames, Handling Unicode Filenames in 3.X: listdir, walk, glob
joining files, Joining Files Portably
printing Unicode filenames, Printing Unicode Filenames
storing local files, Uploading Site Directories
walking directory trees, Recursive os.listdir traversals
walking one directory, The os.listdir call
lseek function, Lower-Level File Tools in the os Module
mkdir function, Other os Module Exports
mkfifo function, Other os Module Exports, Named pipe basics
open function, Other os Module Exports, Lower-Level File Tools in the os Module, Using os.open filesos.open mode flags
pathsep character, Portability Constants
pipe function
file descriptors and, Anonymous pipe basics
functionality, Other os Module Exports, Bidirectional IPC with anonymous pipes
redirecting output, Redirecting input and output with subprocess
popen function
communicating with, Communicating with shell commands
exit status, Exit status with os.system and os.popen
functionality, Running Shell Commands from Scripts
launching mail program, SMTP: Sending Email
redirecting streams, Other Redirection Options: os.popen and subprocess Revisited, Redirecting input or output with os.popen
shell listing command, Running shell listing commands with os.popenRunning shell listing commands with os.popen
standard streams and, “I’d Like to Have an Argument, Please”
portability constants, Portability Constants
program exits, os Module Exits
putenv function, Shell Variable Fine Points: Parents, putenv, and getenv, Wrapping C Environment Calls
read function, Lower-Level File Tools in the os Module
remove function, Other os Module Exports, Other os module file tools
rename function, Other os module file tools
sep character, Portability Constants
shell commands from scripts, Running Shell Commands from ScriptsShell command limitations
spawnv function, Other os Module Exports, Changing Shell Variables, The os.spawn CallsThe os.spawn Calls
spawnve function, Changing Shell Variables, The os.spawn CallsThe os.spawn Calls
startfile function, The os.startfile call
stat function, Other os Module Exports, Other os module file tools, Handling private files and errors
system function, Running Shell Commands from Scripts, Communicating with shell commands, Exit status with os.system and os.popen
tools by functional area, Tools in the os Module
unlink function, Other os module file tools
walk function
find function and, Rolling Your Own find Module
functionality, Other os Module Exports
handling Unicode filenames, Handling Unicode Filenames in 3.X: listdir, walk, glob
scanning directory trees, The os.walk visitorThe os.walk visitor, Scanning the Standard Library Tree
write function, Lower-Level File Tools in the os Module
os.path module
abspath function, Common os.path Tools
functionality, Python System Modules
isdir function, Common os.path Tools
isfile function, Common os.path Tools
join function, Common os.path Tools
samefile function, Handling private files and errors
split function, Common os.path Tools, Handling client path formats
tools supported, Tools in the os Module, Common os.path ToolsCommon os.path Tools
Output class, Redirecting Streams to Python Objects
output files, Output filesClosing
output stream buffering
deadlocks and flushes, Output stream buffering revisited: Deadlocks and flushesOutput stream buffering revisited: Deadlocks and flushes
Pexpect and, Redirecting input and output with subprocess, Output stream buffering revisited: Deadlocks and flushes
program exits and, Output stream buffering: A first look
pty module and, Output stream buffering revisited: Deadlocks and flushes

P

Pack class, One More for Old Times’ Sake
packer geometry manager
combining with grid, Combining grid and packCombining grid and pack
defined, Geometry Managers
expand and fill options, The Packer’s Expand and Fill Revisited
grid comparison, Comparing grid and packComparing grid and pack
layout system, Layout: Packing Order and Side Attachments
making expandable, Making Gridded Widgets Expandable
resizing widgets, Widget Resizing Basics
packing
scroll bars, Packing Scroll Bars
widgets without saving, Packing Widgets Without Saving ThemPacking Widgets Without Saving Them
paging script example, A Custom Paging Script
PanedWindow widget class, Other Widgets and Options
parallel processing
defined, “Telling the Monkeys What to Do”
forking processes, Forking ProcessesSpawned child program
IPC support, Interprocess CommunicationSignals
multiprocessing module, The multiprocessing ModuleWhy multiprocessing? The Conclusion
portable framework, A Portable Program-Launch Framework
program exits, Program ExitsThread Exits and Shared State
socket server portability and, Why multiprocessing doesn’t help with socket server portabilityWhy multiprocessing doesn’t help with socket server portability
spawning clients, Spawning Clients in ParallelPreview: Denied client connections
starting programs, Other Ways to Start ProgramsThe os.startfile call
system tools coverage, Other System Tools Coverage
threads, ThreadsA process-based alternative: multiprocessing (ahead)
parameters
passing in hidden fields, Passing Parameters in Hidden Form Fields
passing in hidden form fields, Hidden Form Input Fields
passing in URLs, Passing parameters in URLsPassing parameters in URLs, Passing Parameters in Hardcoded URLsPassing Parameters in Hardcoded URLs, Passing State Information in URL Link ParametersPassing State Information in URL Link Parameters
query, Internet addresses (URLs), URL Query Parameters
parent process, Forking Processes
parsing
binary data, Parsing packed binary data with the struct moduleParsing packed binary data with the struct module
command-line arguments, Parsing Command-Line Arguments
custom language parsers
adding parse tree interpreter, Adding a Parse Tree InterpreterAdding a Parse Tree Interpreter
expression grammar, The Expression Grammar
parse tree structure, Parse Tree Structure
parser code, The Parser’s CodeAdding a Parse Tree Interpreter
parser comparisons, Parsers Versus Python
PyTree GUI and, Exploring Parse Trees with the PyTree GUIExploring Parse Trees with the PyTree GUI
writing, Custom Language Parsers
defined, “See Jack Hack. Hack, Jack, Hack”
email content, email: Parsing and Composing Mail ContentSummary: Solutions and workarounds
HTML support, Python Internet Development Options, XML and HTML Parsing, HTML Parsing in ActionExtracting plain text from HTML (revisited)
parser decoding requirement, Parser decoding requirementParser decoding requirement
recursive descent, Advanced Language Tools, Custom Language Parsers
regular expression support, Regular expression parsing
rule strings, Parsing and Unparsing Rule StringsMore on the holmes expert system shell
with splits and joins, Parsing with Splits and Joins
XML support, Python Internet Development Options, XML and HTML Parsing, XML Parsing in ActionOther XML topics
passwords
encrypting, POP Password EncryptionRolling your own encryptor
escaping in HTML, Escaping Mail Text and Passwords in HTMLEscaping Mail Text and Passwords in HTML
PyMailCGI password page, The POP Password Page
pattern matching (see regular expressions)
pattern objects (re module), First Examples
performance
PyMailCGI program and, The Web Versus the Desktop
PyMailGUI program and, Ideas for Improvement, The Web Versus the Desktop
saving thumbnail files, Performance: Saving thumbnail filesPerformance: Saving thumbnail files
stacks and, Customization: Performance Monitors, More on performance analysis
string object methods and, More on the holmes expert system shell
threads and, Threads
Perl language, Enter Python, In the Final Analysis…
permissions
CGI scripts and, Handling private files and errors
HTML constraints, HTML file permission constraints
persistence
DBM files, DBM FilesDBM Details: Files, Portability, and Close
object relational mappers, ORMs: Object Relational MappersORMs: Object Relational Mappers
options available, Persistence Options in Python
pickled objects, Pickled ObjectsPickle Details: Protocols, Binary Modes, and _pickle
programming considerations, Adding PersistenceAdding Persistence
shelve files, Shelve FilesOther Shelve Limitations
SQL databases, SQL Database InterfacesSQL Resources
ZODB system, The ZODB Object-Oriented DatabaseThe Mostly Missing ZODB Tutorial
Peters, Tim, The End of the Demo
Pexpect package
output stream buffering and, Redirecting input and output with subprocess, Output stream buffering revisited: Deadlocks and flushes
overview, Python System Modules
PhotoImage widget class, The End of the Tutorial, ImagesFun with Buttons and Pictures, Windows with Both Menus and Toolbars
pickle module
background information, More on the holmes expert system shell
constraints, Pickled Class ConstraintsPickled Class Constraints
functionality, Using Pickle FilesUsing Pickle Files, Python’s Internet Library Modules, Pickled Objects
per-record pickle files, Using Per-Record Pickle FilesUsing Per-Record Pickle Files
Pickler class, Using Object Pickling
PyMailGUI program and, Ideas for Improvement
Unpickler class, Using Object Pickling
pickled objects
defined, Persistence Options in Python, Pickled Objects
usage considerations, Using Object PicklingPickle Details: Protocols, Binary Modes, and _pickle
PIL (Python Imaging Library) extension toolkit
animation and, Graphics and gaming toolkits
basics overview, PIL Basics
creating image thumbnails, Creating Image Thumbnails with PILScrolling and canvases (ahead)
displaying other image types, Displaying Other Image Types with PILDisplaying all images in a directory
functionality, Python GUI Development Options, tkinter Extensions
images in toolbars, Using images in toolbars, too
thumbnail support, Scrollable Canvases and Image Thumbnails
pipe character (|), Chaining programs with pipes
Pipe object (multiprocessing), IPC Tools: Pipes, Shared Memory, and Queues
pipes
anonymous, Interprocess Communication, Anonymous PipesOutput stream buffering revisited: Deadlocks and flushes
command-line, Output stream buffering revisited: Deadlocks and flushes, Adding a GUI As a Separate Program: Command PipesOther uses for threaded pipe GUIs, Buffering in other contexts: Command pipes revisited, Sockets versus command pipes
implementing, Anonymous Pipes
multiprocessing module and, multiprocessing pipes
named, Interprocess Communication, Named Pipes (Fifos)Named pipe use cases
sockets and, Sockets and pipes: Compare and contrast
unbuffered modes, Output stream buffering revisited: Deadlocks and flushes
playfile module, Playing the Monty Python theme song
Plone website builder, Python Internet Development Options
plotting points on a circle, A Quick Geometry LessonA Quick Geometry Lesson
PLY parsing system, Advanced Language Tools
Pmw (Python Mega Widgets) extension toolkit
functionality, Python GUI Development Options, tkinter Extensions
scrolling support, Scrolling and canvases (ahead)
polymorphism, Redirecting Streams to Python Objects
POP (Post Office Protocol)
fetching email at interactive prompt, Fetching Email at the Interactive Prompt
mail configuration module, Mail Configuration ModulePOP Mail Reader Script
mail reader script, POP Mail Reader ScriptFetching Messages
overview, POP: Fetching Email
PyMailCGI and, Reading POP EmailEscaping Mail Text and Passwords in HTML, Deletions and POP Message NumbersAlternative: Delete on load, POP Mail InterfaceRolling your own encryptor
PyMailGUI and, POP Message Numbers and SynchronizationPOP Message Numbers and Synchronization
poplib module
functionality, Python’s Internet Library Modules, Unicode in Python 3.X and Email Tools
mail reader script, POP Mail Reader Script
pymail script and, A Console-Based Email Client
PyMailCGI program and, Implementation Overview, The Message View Page
popmail script, POP: Fetching Email, POP Mail Reader ScriptFetching Messages
port numbers
defined, Machine identifiers
protocol rules, Port number rules
reserved, Talking to Reserved PortsBinding reserved port servers
pprint module
displaying databases, Dictionaries of dictionaries
regular expression parsing and, Regular expression parsing
SAX parsing and, SAX parsing
scanning directory trees, Scanning the Standard Library Tree
print function
CGI scripts and, Debugging CGI scripts
functionality, Paging Documentation Strings
redirecting, Redirection Syntax in Print Calls
standard streams and, Standard Streams
printing
dialog results, Printing dialog results and passing callback data with lambdasPrinting dialog results and passing callback data with lambdas
Unicode filenames, Printing Unicode FilenamesPrinting Unicode Filenames
Process class (multiprocessing), The Basics: Processes and Locks
process forking (see forking processes)
program execution
automated program launchers, Automated Program Launchers (External)
CGI scripts, Installing CGI scripts
cross-program communication, Cross-program communication
GUI programs, Running GUI Programs, Running ProgramsCoding for reusability
launching email programs, SMTP: Sending Email
launching methods, Other Ways to Start ProgramsThe os.startfile call
persistence options, Persistence Options in Python
PyCalc program, Running PyCalc
pymail console client, Running the pymail Console ClientRunning the pymail Console Client, Running the pymail2 console clientRunning the pymail2 console client
PyMailGUI, Running PyMailGUI
server-side scripts, Running Server-Side ExamplesViewing Server-Side Examples and Output
threads and, Threads
program exits
with child threads, Program exit with child threads
os module, os Module Exits
process exit status and shared state, Process Exit Status and Shared State
shell commands and, Shell Command Exit Status CodesExit status with subprocess
sys module, sys Module Exitssys Module Exits
thread exits and shared state, Thread Exits and Shared StateThread Exits and Shared State
programming Python
adding behavior, Adding Behavior
adding GUI, Step 5: Adding a GUIFuture directions
adding inheritance, Adding Inheritance
adding persistence, Adding PersistenceAdding Persistence
adding web-based interfaces, Step 6: Adding a Web InterfaceFuture directions
alternative database options, Other Database Options
class considerations, Using ClassesUsing Classes
coding for reusability, Coding for reusabilityCoding for reusability
console interaction, Step 4: Adding Console InteractionA Console Shelve Interface
Hello World program, “Hello World” in Four Lines (or Less), One More for Old Times’ Sake
inputting user data, Getting Input from a User
Internet development options, Python Internet Development OptionsPython Internet Development Options
OOP considerations, Step 3: Stepping Up to OOPOther Database Options
programming pointers, Start-up pointers
rapid development features, But What About That Bottleneck?Python Fosters Hybrid Applications
refactoring code, Augmenting methodsAlternative classes
representing records, Step 1: Representing RecordsDictionaries of dictionaries
socket programming, Socket ProgrammingBinding reserved port servers
storing records persistently, Step 2: Storing Records PersistentlyUsing Shelves
programs, Changing Shell Variables
(see also spawned programs)
chaining with pipes, Chaining programs with pipes
independent, Sockets and independent programs, Starting Independent Programs
redirecting streams to, Redirecting Streams to Files and ProgramsCoding alternatives for adders and sorters
protocols
client/server considerations, Clients and servers
defined, The Protocol Layer
development options, Python Internet Development Options
pickle module and, Pickle Details: Protocols, Binary Modes, and _pickle
port number rules, Port number rules
standards overview, Python’s Internet Library Modules
structural considerations, Protocol structures
PSF (Python Software Foundation), Other Database Options
PSP (Python Server Pages), Python Internet Development Options, Keeping display and logic separate, Extensions to the CGI Model
pty module, Output stream buffering revisited: Deadlocks and flushes
putfile module, Playing the Monty Python theme song
PY extension, Avoiding DOS consoles on Windows
py2exe tool, Python GUI Development Options
PyArg_Parse API function, Running Code Strings with Results and Namespaces, Calling Python Objects
Py_BuildValue API function, Calling Python Objects
PyCalc program
adding buttons, Adding new buttons in new componentsAdding new buttons in new components
building GUI, Building the GUI
CalcGui class, Running PyCalc, Evaluating expressions with stacks
as component, Using PyCalc as a componentUsing PyCalc as a component
Evaluator class, Evaluating expressions with stacks
extending and attaching, Extending and attaching
functionality, PyCalc: A Calculator Program/ObjectBuilding the GUI, PyCalc—A “Real” Calculator GUI
running, Running PyCalc
running code strings, Running code strings
source code, PyCalc source codeUsing PyCalc as a component
PyClock program
functionality, PyClock: An Analog/Digital Clock Widget
plotting points on a circle, A Quick Geometry LessonA Quick Geometry Lesson
running, Running PyClockRunning PyClock
source code, PyClock Source CodePyClock Source Code
widget support, Text
Py_CompileString API function, Precompiling Strings to Bytecode
PyCrypto system, POP Password Encryption, Manual data encryption: PyCrypto
PyDemos launcher toolbar, PyDemos Launcher Bar (Mostly External)PyDemos Launcher Bar (Mostly External), This Chapter’s Strategy, Multiple Windows and Status Messages
PyDict_GetItemString API function, The C Embedding API, Running Strings in Dictionaries
PyDict_New API function, The C Embedding API, Running Strings in Dictionaries
PyDict_SetItemString API function, The C Embedding API, Running Strings in Dictionaries
PyDoc system, Paging Documentation Strings
PyDraw paint program
functionality, PyDraw: Painting and Moving Graphics
running, Running PyDraw
source code, PyDraw Source CodePyClock: An Analog/Digital Clock Widget
widget support, Text
PyEdit text editor
changes in version 2.0
configuration module, Configuration module
font dialog, Font dialog
summarized, PyEdit Changes in Version 2.0 (Third Edition)
undo, redo, modified tests, Undo, redo, and modified tests
changes in version 2.1
improvements for running code, Improvements for running code
modal dialog state fix, Modal dialog state fix
new Grep dialog, New Grep dialog: Threaded and Unicode-aware file tree searchGrep Unicode model
Quit checks, Cross-process change tests on Quit, More on Quit checks: The <Destroy> event revisited
summarized, PyEdit Changes in Version 2.1 (Fourth Edition)
Unicode text support, Unicode (Internationalized) text supportUnicode options and choices
update for initial positioning, Update for initial positioning
embedding in PyView, Embedding PyEdit in PyViewEmbedding PyEdit in PyView
examples and screenshots, Other PyEdit examples and screenshots in this book
functionality, Frame- and Menubutton-Based Menus, PyEdit: A Text Editor Program/Object
implementing, Text
launching, Running PyEdit
menus and toolbars, Menus and toolbars
multiple windows, Multiple windowsMultiple windows
PyMailGUI program and, Sending Email and Attachments
running program code, Running program code
source code
launch files, Windows (and other) launch files
main implementation file, Main implementation filePyPhoto: An Image Viewer and Resizer
overview, PyEdit Source Code
user configuration file, User configurations file
Unicode support, Supporting Unicode in PyEdit (ahead)
PyEnchant third-party package, Ideas for Improvement
PyErrata website, Other Approaches
PyEval_CallObject API function, The C Embedding API, Calling Python Objects
PyEval_EvalCode API function, Precompiling Strings to Bytecode
PyEval_GetBuiltIns API function, Running Strings in Dictionaries
PyForm example, PyForm: A Persistent Object Viewer (External)PyForm: A Persistent Object Viewer (External)
PyFort system, Other Extending Tools
PyGadgets launcher toolbar, PyGadgets Launcher BarPyGadgets Launcher Bar, This Chapter’s Strategy, Multiple Windows and Status Messages
PyGame package, Graphics and gaming toolkits
PyGTK package, Python GUI Development Options
PyImport_GetModuleDict API function, The C Embedding API
PyImport_ImportModule API function, The C Embedding API, Running Code Strings with Results and Namespaces, Calling Python Objects
Py_Initialize API function, Running Code Strings with Results and Namespaces
PyInstaller tool, Python GUI Development Options
pyjamas toolkit, Python GUI Development Options
pymail console client
functionality, A Console-Based Email ClientRunning the pymail Console Client, Why PyMailGUI?
updating, Updating the pymail Console ClientRunning the pymail2 console client
PyMailCGI program
background information, “Things to Do When Visiting Chicago”, The PyMailCGI Website
configuring, Configuring PyMailCGI
fourth edition enhancements, New in This Fourth Edition (Version 3.0)New in the Prior Edition (Version 2.0)
implementation overview, Implementation OverviewImplementation Overview
presentation overview, Presentation Overview
processing fetched mail
delete action, DeleteDelete
deletions/POP message numbers, Deletions and POP Message NumbersAlternative: Delete on load
overview, Processing Fetched MailProcessing Fetched Mail
reply and forward, Reply and Forward
reading POP email
escaping mail text/passwords, Escaping Mail Text and Passwords in HTMLEscaping Mail Text and Passwords in HTML
mail selection list page, The Mail Selection List PageThe Mail Selection List Page
message view page, The Message View PageThe Message View Page
passing state information, Passing State Information in URL Link ParametersPassing State Information in URL Link Parameters, Passing State Information in HTML Hidden Input Fields
POP password page, The POP Password Page
security protocols, Security Protocols
root page, Implementation Overview, The Root PageConfiguring PyMailCGI
running chapter examples, Running This Chapter’s ExamplesRunning This Chapter’s Examples
sending mail by SMTP
common look-and-feel, Common Look-and-Feel
error pages, Error Pages
message composition page, The Message Composition PageThe Message Composition Page
overview, Sending Mail by SMTP
send mail script, The Send Mail ScriptThe Send Mail Script, Using the Send Mail Script Outside a BrowserUsing the Send Mail Script Outside a Browser
third edition enhancements, New in the Prior Edition (Version 2.0)New in the Prior Edition (Version 2.0)
utility modules
common utilities module, Common Utilities ModuleWeb Scripting Trade-Offs
configuration, External Components and Configuration
external components, External Components and Configuration
overview, Utility Modules
POP mail interface, POP Mail Interface
POP password encryption, POP Password EncryptionRolling your own encryptor
Web scripting tradeoffs
alternative approaches, Other ApproachesOther Approaches
PyMailGUI versus, PyMailCGI Versus PyMailGUI
Web versus desktop, The Web Versus the DesktopThe Web Versus the Desktop
PyMailGUI program
components
altconfigs module, Alternative Configurations and Accounts, altconfigs: Configuring for Multiple Accountsaltconfigs: Configuring for Multiple Accounts, Ideas for Improvement
functionality, A PyMailGUI Demo
html2text module, html2text: Extracting Text from HTML (Prototype, Preview)mailconfig: User Configurations, Ideas for Improvement
implementation overview, PyMailGUI ImplementationPyMailGUI Implementation
ListWindows module, ListWindows: Message List WindowsViewWindows: Message View Windows, Ideas for Improvement
mailconfig module, Loading Mail, Sending Email and Attachments, Mail Content Internationalization Support, mailconfig: User ConfigurationstextConfig: Customizing Pop-Up PyEdit Windows, Ideas for Improvement
main module, PyMailGUI: The Main ModuleSharedNames: Program-Wide Globals
messagecache module, messagecache: Message Cache Managerpopuputil: General-Purpose GUI Pop Ups
popuputil module, popuputil: General-Purpose GUI Pop Upswraplines: Line Split Tools
PyMailGUIHelp program, PyMailGUIHelp: User Help Text and Displayaltconfigs: Configuring for Multiple Accounts
SharedNames module, SharedNames: Program-Wide Globals
textconfig module, textConfig: Customizing Pop-Up PyEdit Windows
ViewWindows module, ViewWindows: Message View Windowsmessagecache: Message Cache Manager
wraplines module, wraplines: Line Split Toolshtml2text: Extracting Text from HTML (Prototype, Preview)
deleting email, Deleting EmailDeleting Email
email recipient options, Email Replies and Forwards and Recipient OptionsEmail Replies and Forwards and Recipient Options
email replies and forwards, Email Replies and Forwards and Recipient OptionsEmail Replies and Forwards and Recipient Options
extracting plain text, Extracting plain text from HTML (revisited)
frame-based menus, Frame- and Menubutton-Based Menus
getting started, Getting StartedGetting Started
HTML content in email, Handling HTML Content in Email
improvement suggestions, Ideas for ImprovementIdeas for Improvement
load server interface, Load Server Interface
loading mail, Loading Mail
mail content Internationalization, New in Version 3.0 (Fourth Edition), Mail Content Internationalization SupportMail Content Internationalization Support
major changes, Major PyMailGUI ChangesVersion 3.0 Unicode support policies
multiple windows, Multiple Windows and Status MessagesMultiple Windows and Status Messages
offline processing, Offline Processing with Save and OpenOffline Processing with Save and Open
overview, Why PyMailGUI?Why PyMailGUI?
placing callbacks on queues, Placing Callbacks on QueuesPassing bound method callbacks on queues
POP support, POP Message Numbers and SynchronizationPOP Message Numbers and Synchronization
presentation strategy, Presentation Strategy
PyMailCGI versus, PyMailCGI Versus PyMailGUI
running, Running PyMailGUI
sending email and attachments, Sending Email and AttachmentsSending Email and Attachments
source code modules and size, Source Code Modules and SizeCode Structure
status messages, Multiple Windows and Status MessagesMultiple Windows and Status Messages
synchronization, POP Message Numbers and SynchronizationPOP Message Numbers and Synchronization
threading model, Threading ModelThreading model implementation
Unicode support policies, Version 3.0 Unicode support policiesVersion 3.0 Unicode support policies
viewing email and attachments, Viewing Email and AttachmentsViewing Email and Attachments
PyMailGUIHelp program, PyMailGUIHelp: User Help Text and Displayaltconfigs: Configuring for Multiple Accounts
PyModule_GetDict API function, The C Embedding API, Running Code Strings with Results and Namespaces
PyObjC toolkit, Python GUI Development Options
PyObject_CallObject API function, The C Embedding API
PyObject_GetAttrString API function, The C Embedding API, Calling Python Objects, Running Strings in Dictionaries
PyObject_SetAttrString API function, The C Embedding API, Running Code Strings with Results and Namespaces
PyParsing system, Advanced Language Tools
PyPhoto image program
limitations, Scrolling images too: PyPhoto (ahead)
overview, PyPhoto: An Image Viewer and Resizer
running, Running PyPhotoRunning PyPhoto
source code, PyPhoto Source CodePyView: An Image and Notes Slideshow
widget support, Text
PyPI website, Python Internet Development Options, Advanced Language Tools
PyQt package, Python GUI Development Options
Pyrex system, Extending and Embedding, Other Extending Tools
PyRun_File API function, The C Embedding API
PyRun_SimpleString API function, Running Simple Code Strings
PyRun_String API function, The C Embedding API, Running Code Strings with Results and Namespaces, Running Strings in Dictionaries
pySerial interface, Python System Modules, Using a reusable form-layout class
python interpreter program, Parsing Command-Line Arguments
Python language
Internet development option, Python Internet Development OptionsPython Internet Development Options
language comparisons, Enter PythonEnter Python
name origin, Using Shelves
third-party packages, The Next Five Chapters
Python Server Pages (PSP), Python Internet Development Options, Keeping display and logic separate, Extensions to the CGI Model
Python Software Foundation (PSF), Other Database Options
PythonCard builder, Python GUI Development Options
PythonInterpreter class API, Other Integration Topics
PYTHONIOENCODING environment variable, Printing Unicode Filenames
PYTHONPATH environment variable
defined, Shell Environment Variables
pickled class constraints, Pickled Class Constraints
running code strings, Compiling and running
syntax errors and, The Module Search Path
PYTHONUNBUFFERED environment variable, Installing CGI scripts
PyToe game widget
functionality, PyToe: A Tic-Tac-Toe Game Widget
running, Running PyToe
source code, PyToe Source Code (External)PyToe Source Code (External)
PyTree program, Scrolling Canvases, PyTree: A Generic Tree Object ViewerPyTree: A Generic Tree Object Viewer, Exploring Parse Trees with the PyTree GUIExploring Parse Trees with the PyTree GUI
PyView image program
frame-based menus, Frame- and Menubutton-Based Menus
functionality, PyView: An Image and Notes Slideshow
running, Running PyViewEmbedding PyEdit in PyView
source code, PyView Source CodePyView Source Code
widget support, Text
PYW extension, Avoiding DOS consoles on Windows
PyWin32 package
development options, Python Internet Development Options
overview, Python GUI Development Options
PyXML SIG, Other XML topics

R

Radiobutton widget class
associated variables, Checkbuttons
command option, Radio Buttons
functionality, The End of the Tutorial, Radio ButtonsHold onto your variables!
variables and, Radio buttons and variablesRadio buttons and variables
random access files, Random access filesRandom access files
random module, Future directions, Fun with Buttons and Pictures
range function, Field labels
re module
compile function, First Examples, Module functions, Compiled pattern objects
escape function, Module functions
findall function, First Examples, String Operations Versus Patterns, Module functions, Regular expression parsing
finditer function, Module functions
functionality, The re Module
match function, First Examples, String Operations Versus Patterns, Module functions, Match objects
search function, First Examples, String Operations Versus Patterns, Module functions, Match objects
sub function, Module functions
subn function, Module functions
records
adding with SQLite, Adding records
building dictionaries, Building Record DictionariesAutomating with scripts and modules
built-in dictionaries, Using DictionariesDictionaries of dictionaries
formatted files, Using Formatted FilesUtility scripts
list-based, Using ListsField labels
per-record pickle files, Using Per-Record Pickle FilesUsing Per-Record Pickle Files
pickle files, Using Pickle FilesUsing Pickle Files
shelves and, Using ShelvesUsing Shelves
recursive descent parsing, Advanced Language Tools, Custom Language Parsers
refactoring code
alternative classes, Alternative classes
augmenting methods, Augmenting methods
with CGI scripts, Refactoring Code for MaintainabilityStep 3: Putting It All Together—A New Reply Script
with classes, Refactoring with classesRefactoring with classes
constructor customization, Constructor customization
display format, Display format
with functions, Refactoring with functionsRefactoring with functions
Register_Handler function, Registration Implementation
regression test scripts, A Regression Test ScriptRunning the Test Driver
regular expressions
defined, Regular Expression Pattern Matching
limitations, Advanced Language Tools
parsing support, Regular expression parsing
pattern examples, More Pattern ExamplesMore Pattern Examples
pattern matching techniques, First ExamplesFirst Examples
pattern syntax, Regular expression patternsRegular expression patterns
re module, The re Module, Using the re ModuleRegular expression patterns
scanning C header files, Scanning C Header Files for PatternsScanning C Header Files for Patterns
string operations versus, String Operations Versus PatternsString Operations Versus Patterns
remote sites
deleting remote trees, Deleting Remote TreesDeleting Remote Trees
downloading directories, Downloading Site DirectoriesDownloading Site Directories
downloading remote trees, Downloading Remote Trees
remote servers, Socket pragmatics, Finding Python on remote servers
uploading directories, Uploading Site DirectoriesUploading Site Directories
repeater method, Using the after Method
ReplaceVisitor class, Global Replacements in Directory Trees (Visitor)
reporting directory differences, Reporting Differences and Other IdeasReporting Differences and Other Ideas
reserved port numbers, Talking to Reserved PortsBinding reserved port servers
RETR string (FTP), FTP get and put Utilities
RFC822, Processing Internet Email
rfc822 module, Basic email Package Interfaces in Action
RIAs (rich Internet applications), Python GUI Development Options, Python Internet Development Options, Other Approaches
rotor module, Manual data encryption: rotor (defunct)
Route_Event function, Registration Implementation
rule strings, parsing/unparsing, Parsing and Unparsing Rule StringsMore on the holmes expert system shell
running programs (see program execution)

S

SAX parsers, XML and HTML Parsing, SAX parsing
Scale widget class
command option, Scales (Sliders)
from_ option, Scales (Sliders)
functionality, The End of the Tutorial, Scales (Sliders)Scales and variables
get/set methods, Scales (Sliders)
label option, Scales (Sliders)
resolution option, Scales (Sliders)
showvalue option, Scales (Sliders)
tickinterval option, Scales (Sliders)
to option, Scales (Sliders)
variables and, Scales and variablesScales and variables
scanner function, File Scanners
scanning
C header files for patterns, Scanning C Header Files for PatternsScanning C Header Files for Patterns
directories, Scanning the Standard Library Directory
directory trees, Scanning the Standard Library Tree
entire machines, Scanning the Entire MachineScanning the Entire Machine
module search paths, Scanning the Module Search PathScanning the Module Search Path
Scheme language, Enter Python
SciPy package, Other Extending Tools
screen scraping, Python Internet Development Options, Testing outside browsers with the module urllib.request
scripts, CGI Basics
(see also CGI scripts; client-side scripting; Internet-related scripting; network scripting; server-side scripting; system programs; system scripting)
automating queries, Automating with scripts and modulesAutomating with scripts and modules
command-line arguments and, Command-Line ArgumentsParsing Command-Line Arguments
command-line mode, Using the scriptsUsing the scripts
current working directory and, Current Working DirectoryCWD and Command Lines
custom paging script, A Custom Paging Script
data format script, Data format scriptData format script
launching, Current Working Directory
queue module example, Running the script
refactoring with classes, Refactoring with classesRefactoring with classes
refactoring with functions, Refactoring with functionsRefactoring with functions
regression test, A Regression Test ScriptRunning the Test Driver
running shell commands from, Running Shell Commands from ScriptsShell command limitations
shell variables and, Shell Environment VariablesShell Variable Fine Points: Parents, putenv, and getenv
SQL utility, SQL Utility ScriptsUsing the scripts
standard streams and, Standard StreamsRedirecting input and output with subprocess
start command in, Using start in Python scripts
start-up pointers, Script start-up pointers
test data script, Test data script
Unix platforms and, Parsing Command-Line Arguments
utility scripts, Utility scripts
Web tradeoffs, Web Scripting Trade-OffsOther Approaches
Scrollbar widget class
functionality, The End of the Tutorial, Listboxes and Scrollbars
packing scroll bars, Packing Scroll Bars
programming, Programming Scroll Bars
set method, Programming Scroll Bars
ScrolledCanvas class, Scrolling CanvasesScrolling Canvases
ScrolledList component class, Listboxes and Scrollbars
ScrolledText component class, Text, Adding Text-Editing Operations, Composition versus inheritance
search paths, CGI scripts, Installing CGI scripts
search_all script, Visitor: Walking Directories “++”
searcher function, A Python Tree Searcher
searching directory trees, Searching Directory TreesA Python Tree Searcher
SearchVisitor class, Visitor: Walking Directories “++”Visitor: Walking Directories “++”, Using mimetypes guesses for SearchVisitor
Secure Sockets Layer (SSL), Security Protocols
security
password encryption and, POP Password EncryptionRolling your own encryptor
PyMailCGI program and, Configuring PyMailCGI, Security Protocols
web-based interfaces and, Directories, string formatting, and securityDirectories, string formatting, and security
select module
functionality, Python System Modules
multiplexing servers, Multiplexing Servers with selectSummary: Choosing a Server Scheme
sendmail program, SMTP: Sending Email
sequences
permuting, Permuting SequencesPermuting Sequences
reversing/sorting, Reversing and Sorting SequencesData Structures Versus Built-ins: The Conclusion
serial port interfaces, Using a reusable form-layout class
serialization, Pickled Objects
server-side databases, Server-Side Databases
server-side scripting/processing, “Oh, What a Tangled Web We Weave”
(see also CGI scripts; PyMailCGI program)
development options, Python Internet Development Options
forking servers, Forking ServersWhy multiprocessing doesn’t help with socket server portability
Internet applications and, Other Approaches
multiplexing servers with select, Multiplexing Servers with selectSummary: Choosing a Server Scheme
overview, “Oh, What a Tangled Web We Weave”
protocol considerations, Clients and servers
Python file server, A Simple Python File ServerUsing a reusable form-layout class
root page examples, The Server-Side Examples Root Page
running, Running Server-Side ExamplesViewing Server-Side Examples and Output
server socket calls, Server socket callsServer socket calls
templating languages, Writing CGI Scripts in Python
threading servers, Threading ServersThreading Servers
transferring files, Transferring Files to Clients and ServersMore Than One Way to Push Bits over the Net
sets
adding relational algebra, Adding Relational Algebra to Sets (External)
built-in options, Built-in Options
classes and, Set ClassesSet Classes
defined, Implementing Sets
functions and, Set FunctionsSupporting multiple operands
moving to dictionaries, Optimization: Moving Sets to DictionariesTiming the results under Python 3.1
operations supported, Implementing Sets
shared memory
mmap module, Interprocess Communication
multiprocessing module and, Shared memory and globalsShared memory and globals
threads and, Threads
shared state
forking processes and, Process Exit Status and Shared State
threads and, Thread Exits and Shared StateThread Exits and Shared State
shell commands
communicating with, Communicating with shell commands
defined, What’s a shell command?
exit status codes, Shell Command Exit Status CodesExit status with subprocess
find, Greps and Globs and Finds
kill, Signals
limitations, Shell command limitations
os module support, Running Shell Commands from Scripts
running, Running shell commands
subprocess module alternative, The subprocess module alternativeThe subprocess module alternative
shell variables
accessing, “I’d Like to Have an Argument, Please”
changing, Changing Shell Variables
defined, Shell Environment Variables
environment settings, Shell Variable Fine Points: Parents, putenv, and getenv
fetching, Fetching Shell Variables
wrapping calls, Wrapping C Environment CallsWrapping C Environment Calls with SWIG
ShellGui tool
adding GUI frontends to command lines, Adding GUI Frontends to Command LinesRoom for improvement
application-specific tool set classes, Application-Specific Tool Set Classes
functionality, ShellGui: GUIs for Command-Line Tools
generic shell-tools display, A Generic Shell-Tools DisplayA Generic Shell-Tools Display
GUI input dialogs, GUI input dialogsGUI input dialogs
non-GUI scripts, Non-GUI scriptsNon-GUI scripts
shelve files
changing classes of objects, Changing Classes of Objects Stored in Shelves
constraints, Shelve ConstraintsUnderlying DBM format portability
defined, Persistence Options in Python, Shelve Files
standard operations, Using Shelves
storing built-in object types, Storing Built-in Object Types in Shelves
storing class instances, Storing Class Instances in ShelvesStoring Class Instances in Shelves
usage considerations, Using Shelves
shelve module
console interface, A Console Shelve InterfaceA Console Shelve Interface
dictionary-of-dictionaries format and, Dictionaries of dictionaries
functionality, Using ShelvesUsing Shelves
GUI interface, A GUI Shelve InterfaceFuture directions
open method, Using Shelves
pickle support and, Shelve Files
PyMailGUI program and, Ideas for Improvement
unique objects and, Objects are unique only within a key
usage considerations, Using Shelves
web-based interfaces, A Web-Based Shelve InterfaceFuture directions
writeback argument, Using Shelves, Updates must treat shelves as fetch-modify-store mappings
shutil module
additional information, Other os module file tools
functionality, Python System Modules
signal handlers, Preventing zombies with signal handlers on LinuxPreventing zombies with signal handlers on Linux
signal module
alarm function, Signals
functionality, Python System Modules, SignalsSignals
pause function, Signals
signal function, Signals
signals
defined, Interprocess Communication
functionality, SignalsSignals
Silverlight framework, Python GUI Development Options
SimpleEditor class
clipboard support, Using the clipboard
functionality, Adding Text-Editing Operations
inheritance support, Composition versus inheritance
limitations, It’s called “Simple” for a reason: PyEdit (ahead)
SIP system, Other Extending Tools
Smalltalk language, Enter Python
SMTP (Simple Mail Transfer Protocol)
date formatting standard, Manipulating both From and To
mail sender script, SMTP Mail Sender ScriptSending Email at the Interactive Prompt
overview, SMTP: Sending Email
PyMailCGI program, Sending Mail by SMTPUsing the Send Mail Script Outside a Browser
sending email at interactive prompt, Sending Email at the Interactive Prompt
smtplib module
functionality, Python’s Internet Library Modules, Unicode in Python 3.X and Email Tools, SMTP: Sending Email
pymail script and, A Console-Based Email Client
PyMailCGI program and, Implementation Overview
PyMailGUI program and, Sending Email and Attachments, Ideas for Improvement
smtpmail script, SMTP Mail Sender ScriptSending Email at the Interactive Prompt
SOAP
integration considerations, Other Integration Topics
persistence options, Persistence Options in Python
pickled objects and, Using Object Pickling
Web services support, Python Internet Development Options
socket module
functionality, Python System Modules, Sockets: A First LookSocket use cases, Python’s Internet Library Modules, Python’s Internet Library Modules
programming, Socket ProgrammingBinding reserved port servers
socket objects
bind method, Server socket calls
close method, Client socket calls
connect method, Client socket calls
defined, Server socket calls
listen method, Server socket calls
makefile method, Output stream buffering revisited: Deadlocks and flushes, Making Sockets Look Like Files and Streams
send method, Client socket calls
setblocking method, Running the select server
sockets
basic functionality, Socket basicsSocket basics, The Socket Layer, Socket BasicsClient socket calls
client calls, Client socket calls
command pipes and, Sockets versus command pipes
defined, Interprocess Communication, What we will cover
development options, Python Internet Development Options
forked processes and, Forked processes and sockets
independent programs and, Sockets and independent programs
looking like files and streams, Making Sockets Look Like Files and StreamsSockets versus command pipes
machine identifiers, Machine identifiers
output stream buffering and, Output stream buffering revisited: Deadlocks and flushes
pipes and, Sockets and pipes: Compare and contrast
practical usage considerations, Socket pragmatics
programming support, Socket Programming
running programs locally, Running Socket Programs Locally
running programs remotely, Running Socket Programs RemotelySocket pragmatics
server calls, Server socket callsServer socket calls
spawning clients in parallel, Spawning Clients in ParallelPreview: Denied client connections
spawning GUI as separate programs, Adding a GUI As a Separate Program: Sockets (A Second Look)Adding a GUI As a Separate Program: Sockets (A Second Look)
talking to reserved ports, Talking to Reserved PortsBinding reserved port servers
transferring byte strings/objects, Transferring byte strings and objects
use cases, Socket use cases
socketserver module, Running a Web Server, Python’s Internet Library Modules, Standard Library Server Classes
sorted function, Coding alternatives for adders and sorters
source code lines, counting, Counting Source Code Lines (Visitor)
spam, Sending Messages, Ideas for Improvement
SPARK toolkit, Advanced Language Tools
spawned programs
command-line pipes, Adding a GUI As a Separate Program: Command PipesOther uses for threaded pipe GUIs
defined, Changing Shell Variables
sockets example, Adding a GUI As a Separate Program: Sockets (A Second Look)Adding a GUI As a Separate Program: Sockets (A Second Look), Spawning Clients in ParallelPreview: Denied client connections
spawned threads (see threads)
spelling checkers, Ideas for Improvement
Spinbox widget class, Other Widgets and Options
splitting files, Splitting Files PortablySplitting Files Portably, Usage VariationsUsage Variations
SQL databases
additional resources, SQL Resources
API tutorial with SQLite, An SQL Database API Tutorial with SQLiteRunning updates
building record dictionaries, Building Record DictionariesAutomating with scripts and modules
code consolidation, Tying the Pieces TogetherTying the Pieces Together
functionality, Persistence Options in Python, SQL Database InterfacesSQL Database Interfaces
interface overview, SQL Interface OverviewSQL Interface Overview
loading database tables from files, Loading Database Tables from FilesPython versus SQL
SQL utility scripts, SQL Utility ScriptsUsing the scripts
SQLAlchemy system, Other Database Options, SQL Database Interfaces
SQLite database system
adding records, Adding records
getting started, Getting started
making databases/tables, Making databases and tables
overview, An SQL Database API Tutorial with SQLite
running queries, Running queriesRunning queries
running updates, Running updates
SQLObject system, Other Database Options, SQL Database Interfaces, ORMs: Object Relational Mappers
SSL (Secure Sockets Layer), Security Protocols
ssl module, Python’s Internet Library Modules, Security Protocols
stacks
built-in options, Built-in OptionsBuilt-in Options
customizing performance monitors, Customization: Performance Monitors
defined, Implementing Stacks
defining Stack class, A Stack ClassA Stack Class
defining stack module, A Stack ModuleA Stack Module
evaluating expressions with, Evaluating expressions with stacksEvaluating expressions with stacks
in-place list modifications, Optimization: In-Place List ModificationsOptimization: In-Place List Modifications
as lists, Built-in Options
timing improvements, Timing the ImprovementsMore on performance analysis
tuple tree, Optimization: Tuple Tree StacksOptimization: Tuple Tree Stacks
Stajano, Frank, The Next Five Chapters
standard dialogs, Standard (Common) DialogsOther standard dialog calls
standard streams (see input/output streams)
start command, Shell command limitations, Using the DOS start command
state information
combining techniques, Combining Techniques
extensions to CGI model, Extensions to the CGI Model
hidden form input fields, Hidden Form Input Fields
HTTP cookies, HTTP “Cookies”Handling cookies with the urllib.request module
Internet applications and, Other Approaches
passing with PyMailCGI, Implementation Overview, Passing State Information in URL Link ParametersPassing State Information in URL Link Parameters, Passing State Information in HTML Hidden Input Fields
process exit status, Process Exit Status and Shared State
saving in CGI scripts, Saving State Information in CGI ScriptsCombining Techniques
SAX parsers and, XML and HTML Parsing
server-side databases, Server-Side Databases
thread exits, Thread Exits and Shared StateThread Exits and Shared State
URL query parameters, URL Query Parameters
status codes, exit, Shell Command Exit Status CodesExit status with subprocess
status messages, PyMailGUI program, Multiple Windows and Status MessagesMultiple Windows and Status Messages
STOR string (FTP), FTP get and put Utilities
str object type
functionality, Other String Concepts in Python 3.X: Unicode and bytes
string method calls, String Method UtilitiesString Method Utilities
Text widget and, String types in the Text widgetString types in the Text widget
usage considerations, The problem with treating text as bytesThe problem with treating text as bytes
string methods
basics overview, String Method BasicsString Method Basics
endswith method, String Method Utilities
find method, String Method Utilities
format method, String Method Utilities
isdigit method, String Method Utilities
isupper method, String Method Utilities
join method, Common os.path Tools, String Method Utilities, Parsing with Splits and Joins, Parsing and Unparsing Rule Strings
pattern matching versus, String Operations Versus PatternsString Operations Versus Patterns
performance and, More on the holmes expert system shell
replace method, String Method Utilities, Templating with Replacements and Formats
templating with replacements/formats, Templating with Replacements and Formats
rjust method, String Method Utilities
rstrip method, String Method Utilities
split method, String Method Utilities, Parsing with Splits and Joins, Summing Columns in a File
startswith method, String Method Utilities
strip method, String Method Utilities
summing columns in files, Summing Columns in a FileSumming with dictionaries
upper method, String Method Utilities
string module
ascii_uppercase constant, String Method Utilities
background information, More on the holmes expert system shell
preset variables, String Method Basics
string methods and, String Method Utilities
Template feature, Templating with Replacements and Formats
strings, Regular Expression Pattern Matching
(see also code strings; regular expressions)
converting, String Method Basics, Converting strings in CGI scripts
converting objects to, Pickled Objects
formatting, Directories, string formatting, and securityDirectories, string formatting, and security
functionality, Strategies for Processing Text in Python
query, Using Query Strings and urllibUsing Query Strings and urllib
shelve constraints, Keys must be strings (and str)
specifying positions, String positions
Text widget as, Text is a Python string
Unicode text in, Unicode text in stringsUnicode text in strings
StringVar class, tkinter “Variables” and Form Layout Alternatives
strop module, More on the holmes expert system shell
struct module
functionality, Python’s Internet Library Modules
parsing binary data, Parsing packed binary data with the struct moduleParsing packed binary data with the struct module
serial ports and, Using a reusable form-layout class
unpack method, Parsing packed binary data with the struct module
subclassing
attaching class components, Attaching Class ComponentsAttaching Class Components
attaching frames, Configuring at construction time
built-in types, Subclassing Built-in TypesSubclassing Built-in Types
C++ class, Subclassing the C++ class in Python
customizing widgets with classes, Customizing Widgets with ClassesCommon appearance
extending class components, Extending Class Components
multiprocessing module and, Queues and subclassingQueues and subclassing
protocol considerations, Subclass Protocols
PyCalc program and, PyCalc—A “Real” Calculator GUI
recursive uploads, Uploading Local Trees
reusable GUI components, Reusable GUI Components with ClassesStandalone Container Classes
subprocess module
exit status, Exit status with subprocess
functionality, Python System Modules
Popen object, Other os Module Exports
redirecting streams, Other Redirection Options: os.popen and subprocess Revisited, Redirecting input and output with subprocessRedirecting input and output with subprocess
SumGrid class, Laying Out Larger Tables with grid
summer function, Summing Columns in a FileSumming with dictionaries
SWIG tool, The SWIG Integration Code GeneratorA Simple SWIG Example, Wrapping C Environment Calls with SWIG, Wrapping C++ Classes with SWIGExploring the wrappers interactively
synchronization
inbox error potential, Inbox synchronization error potential
mailtools utility package, Inbox synchronization tools
PyMailGUI program and, POP Message Numbers and SynchronizationPOP Message Numbers and Synchronization
_thread module and, Synchronizing access to shared objects and namesSynchronizing access to shared objects and names
threading module, Synchronizing access to shared objects and names revisitedSynchronizing access to shared objects and names revisited
threads and, Threads
sys module
argv parameter, “I’d Like to Have an Argument, Please”, Command-Line Arguments
command-line arguments, Command-Line ArgumentsParsing Command-Line Arguments
current working directory, CWD, Files, and Import Paths
documentation sources, Module Documentation Sources
exception details, Exception Details
exc_info function, Exception Details
exit function, sys Module Exitssys Module Exits
functionality, System Scripting Overview, Python System Modules, Other sys Module Exports
getdefaultencoding function, Unicode encodings for text files
getrefcount function, The Loaded Modules Table
loaded modules table, The Loaded Modules Table
module search path, The Module Search Path, CWD, Files, and Import Paths, Scanning the Module Search Path
modules dictionary, The Loaded Modules Table
platform string, Platforms and Versions
platforms and versions, Platforms and Versions
program exits, sys Module Exitssys Module Exits, Adding Buttons and Callbacks
setcheckinterval function, More on the Global Interpreter Lock
standard streams and, Standard StreamsRedirecting input and output with subprocess
sys.stderr
capturing stream, Capturing the stderr Stream
CGI scripts and, Debugging CGI scripts
functionality, “I’d Like to Have an Argument, Please”
output stream buffering, Output stream buffering revisited: Deadlocks and flushes
PyMailCGI program and, Common Utilities Module
sys.stdin
CGI scripts and, Writing CGI Scripts in Python
end-of-file character, Redirecting Streams to Files and Programs
end-of-line character, Redirecting Streams to Files and Programs
functionality, “I’d Like to Have an Argument, Please”
redirecting to Python objects, Redirecting Streams to Python ObjectsRedirecting Streams to Python Objects
user interaction and, Redirected Streams and User InteractionRedirected Streams and User Interaction
sys.stdout
CGI scripts and, Writing CGI Scripts in Python
functionality, “I’d Like to Have an Argument, Please”
output stream buffering, Output stream buffering revisited: Deadlocks and flushes
redirecting print calls, Redirection Syntax in Print Calls
redirecting to Python objects, Redirecting Streams to Python ObjectsRedirecting Streams to Python Objects
system programs
additional examples, Other Visitor Examples (External)
automated program launchers, Automated Program Launchers (External)
comparing directory trees, Comparing Directory TreesReporting Differences and Other Ideas
copying directory trees, Copying Directory Trees
counting source code lines, Counting Source Code Lines (Visitor)
generating redirection web pages, Generating Redirection Web PagesPage Generator Script
playing media files, Playing Media FilesRunning the Script
printing Unicode filenames, Printing Unicode FilenamesPrinting Unicode Filenames
recoding copies with classes, Recoding Copies with Classes (Visitor)Recoding Copies with Classes (Visitor)
regression test scripts, A Regression Test ScriptRunning the Test Driver
scanning directories, Scanning the Standard Library Directory
scanning directory trees, Scanning the Standard Library Tree
scanning entire machine, Scanning the Entire MachineScanning the Entire Machine
scanning module search path, Scanning the Module Search PathScanning the Module Search Path
searching directory trees, Searching Directory TreesA Python Tree Searcher
splitting and joining files, Splitting and Joining FilesUsage Variations
walking directories, Visitor: Walking Directories “++”Other Visitor Examples (External)
system scripting
additional references, Commercially Published References
bytes string type, Other String Concepts in Python 3.X: Unicode and bytes
custom paging scripts, A Custom Paging Script
file operations and, File Operation Basics
module documentation sources, Module Documentation Sources
overview, System Scripting Overview
paging documentation strings, Paging Documentation Strings
program usage considerations, Using Programs in Two Ways
Python library manuals, Python Library Manuals
string methods, String Method BasicsString Method Basics
system modules, Python System Modules
Unicode encoding, Other String Concepts in Python 3.X: Unicode and bytes
system tools, “Telling the Monkeys What to Do”
(see also parallel processing)
defined, Why Python Here?
os module, Introducing the os ModuleOther os Module Exports
sys module, Introducing the sys ModuleOther sys Module Exports
system scripting, System Scripting OverviewCommercially Published References
systems application domain, “The os.path to Knowledge”

T

tables
creating with SQLite, Making databases and tables
description considerations, Using table descriptions
generating, Adding Pictures and Generating TablesTable tags
laying out forms, Using Tables to Lay Out FormsDebugging CGI scripts
loading from files, Loading Database Tables from FilesPython versus SQL
ORM support, Persistence Options in Python
table display script, Table display scriptTable display script
table load script, Table load scripts
tags
binding, Advanced Text and Tag Operations
form, Submission pageMore on form tags
objects, Canvas object tags
table, Table tags
text, Text tags
Tcl language, Python/tkinter for Tcl/Tk Converts, Enter Python
Telnet service, Transferring Directories with ftplib, POP: Fetching Email
telnetlib module, Python’s Internet Library Modules
tempfile module, Python System Modules
templating
server-side languages supporting, Writing CGI Scripts in Python, Other Approaches
with replacements and formats, Templating with Replacements and Formats
testparser module, The Expression Grammar, Adding a Parse Tree Interpreter
text files
buffered output streams and, Text-mode files and buffered output streams
end-of-line translations, End-of-line translations for text filesEnd-of-line translations for text files
Unicode encoding and, The File Object Model in Python 3.X, Binary and Text Files, Unicode encodings for text filesUnicode encodings for text files, Unicode and the Text WidgetSupporting Unicode in PyEdit (ahead)
text payload encodings, Text payload encodings: Handling mixed type resultsText payload encodings: Using header information to decode, Unicode decoding for text part payloads and message headers
text processing and language analysis
advanced language tools, Advanced Language ToolsAdding new buttons in new components
custom language parsers, Custom Language ParsersParsers Versus Python
PyCalc program, PyCalc: A Calculator Program/Object
regular expressions, Regular Expression Pattern MatchingScanning C Header Files for Patterns
strategies for, Strategies for Processing Text in Python
string method utilities, String Method UtilitiesMore on the holmes expert system shell
XML and HTML parsing, XML and HTML ParsingExtracting plain text from HTML (revisited)
Text widget class
advanced operations, Advanced Text and Tag OperationsAdvanced Text and Tag Operations
functionality, The End of the Tutorial, TextText
get method, Text tags
index support, Text indexes
mark_set method, Text marks
programming, Programming the Text WidgetText tags
PyMailGUI program and, Handling HTML Content in Email, Ideas for Improvement
search method, Text tags
tag support, Text tags
tag_add method, Text tags
tag_bind method, Advanced Text and Tag Operations
tag_delete method, Text tags
tag_remove method, Text tags
text-editing operations, Adding Text-Editing OperationsIt’s called “Simple” for a reason: PyEdit (ahead)
Unicode and, Unicode and the Text WidgetSupporting Unicode in PyEdit (ahead)
xscrollcommand option, Programming Scroll Bars
xview method, Programming Scroll Bars
yscrollcommand option, Programming Scroll Bars
yview method, Programming Scroll Bars
text-mode transfers, Uploading Site Directories
this module, The End of the Demo
Thread class, The threading Module
_thread module
allocate_lock function, Synchronizing access to shared objects and names
basic usage, Basic usageBasic usage
coding alternatives, Coding alternatives: busy loops, arguments, and context managersCoding alternatives: busy loops, arguments, and context managers
functionality, Python System Modules
running multiple threads, Running multiple threadsRunning multiple threads
start_new_thread function, Basic usage
synchronizing access, Synchronizing access to shared objects and namesSynchronizing access to shared objects and names
waiting for spawned thread exits, Waiting for spawned thread exitsWaiting for spawned thread exits
ways to code threads, Other ways to code threads with _thread
threading module
functionality, Python System Modules, The threading ModuleThe threading Module
synchronizing access, Synchronizing access to shared objects and names revisitedSynchronizing access to shared objects and names revisited
thread exits in GUIs, Thread exits in GUIs
timer function, Preview: GUIs and Threads
ways to code threads, Other ways to code threads with threading
threads
advantages using, Threads
animation and, Threads and animation
anonymous pipes and, Anonymous pipes and threads
exit considerations, Thread Exits and Shared StateThread Exits and Shared State, Thread exits in GUIs
global interpreter lock and, More on the Global Interpreter LockA process-based alternative: multiprocessing (ahead)
GUIs and, Preview: GUIs and ThreadsPreview: GUIs and Threads, Using Threads with tkinter GUIsUsing Threads with tkinter GUIs, Updating GUIs within threads…and other nonsolutions
potential usage downsides, Threads
PyEdit text editor, New Grep dialog: Threaded and Unicode-aware file tree search, Grep threading model
PyMailGUI program and, New in Version 3.0 (Fourth Edition), Threading ModelThreading model implementation
queue module, The queue ModuleRunning the script
servers and, Threading ServersThreading Servers
shared state, Thread Exits and Shared StateThread Exits and Shared State
spawned, “Telling the Monkeys What to Do”
_thread module, The _thread ModuleCoding alternatives: busy loops, arguments, and context managers
threading module, The threading ModuleSynchronizing access to shared objects and names revisited
time.sleep loops, Using multiple time.sleep loop threads
thumbnails, Scrolling images too: PyPhoto (ahead)
(see also PyPhoto image program)
creating, Creating Image Thumbnails with PILScrolling and canvases (ahead)
scrollable canvases and, Scrollable Canvases and Image ThumbnailsScrolling images too: PyPhoto (ahead)
time module
functionality, Python System Modules
sleep call, Forking Processes, Simple Animation Techniques, Using time.sleep loopsUsing time.sleep loops, Using multiple time.sleep loop threads
timeit module, Python System Modules
timer objects, Preview: GUIs and Threads
Tix extension toolkit
functionality, Python GUI Development Options, tkinter Extensions
HList widget, Ideas for Improvement
Tk GUI library, Python/tkinter for Tcl/Tk Converts
Tk widget class
coding example, tkinter Coding Alternatives
destroy method, Top-Level Window Protocols
exporting methods, Top-Level Window ProtocolsTop-Level Window Protocols
functionality, The End of the Tutorial, Toplevel and Tk Widgets
iconbitmap method, Top-Level Window Protocols
iconify method, Top-Level Window Protocols
maxsize method, Top-Level Window Protocols
menu option, Top-Level Window Protocols, Top-Level Window MenusTop-Level Window Menus
protocol method, Top-Level Window Protocols
quit method, Top-Level Window Protocols
title method, Top-Level Window Protocols
withdraw method, Top-Level Window Protocols
tkinter module, Configuring Widget Options and Window Titles
(see also specific widget classes; widgets)
after method, Preview: GUIs and Threads
coding alternatives, tkinter Coding Alternativestkinter Coding Alternatives
coding basics, tkinter Coding Basics
configuring window titles, Configuring Widget Options and Window Titles
createfilehandler tool, Time Tools, Threads, and Animation
documentation, tkinter Documentation, Where to Go from Here
extensions supported, tkinter Extensionstkinter Extensions, Other Widgets and Options
functionality, GUI BasicsGUI Basics, Python GUI Development Options, tkinter Pragmatics
geometry managers, Geometry Managers
implementation structure, Implementation structure
programming structure, Programming structure
underscore character, Standalone Container Classes
widget classes supported, The End of the Tutorial
TkinterTreectrl third-party extension, Ideas for Improvement
toolbars
automating, GuiMaker: Automating Menus and ToolbarsBigGui: A Client Demo Program
displaying in windows, Windows with Both Menus and ToolbarsWindows with Both Menus and Toolbars
images in, Using images in toolbars, tooUsing images in toolbars, too
PyDemos, PyDemos Launcher Bar (Mostly External)PyDemos Launcher Bar (Mostly External), This Chapter’s Strategy, Multiple Windows and Status Messages
PyEdit text editor, Menus and toolbars
PyGadgets, PyGadgets Launcher BarPyGadgets Launcher Bar, This Chapter’s Strategy, Multiple Windows and Status Messages
Toplevel widget class
automating building windows, Wrapping Up Top-Level Window InterfacesWrapping Up Top-Level Window Interfaces
custom dialogs, Custom Dialogs
deiconify method, Hiding and redrawing widgets and windows
destroy method, Top-Level Window Protocols
dialogs and, Dialogs
functionality, The End of the Tutorial, Top-Level WindowsTop-Level Window Protocols
iconbitmap method, Top-Level Window Protocols
iconify method, Top-Level Window Protocols, Hiding and redrawing widgets and windows
independent windows, Independent Windows
lift method, Hiding and redrawing widgets and windows
maxsize method, Top-Level Window Protocols
menu option, Top-Level Window Protocols, Top-Level Window MenusTop-Level Window Menus
protocol method, Top-Level Window Protocols
quit method, Top-Level Window Protocols
state method, Hiding and redrawing widgets and windows
title method, Top-Level Window Protocols
withdraw method, Top-Level Window Protocols, Hiding and redrawing widgets and windows
traceback module
CGI scripts and, Debugging CGI scripts
functionality, Exception Details
PyMailCGI program and, Error Pages, The Mail Selection List Page
transferring directories, Transferring Directories with ftplibRefactoring with classes
transferring directory trees, Transferring Directory Trees with ftplibDownloading Remote Trees
transferring files
to clients and servers, Transferring Files to Clients and ServersMore Than One Way to Push Bits over the Net
over the Internet, FTP: Transferring Files over the Net, Using urllib to Download FilesUsing urllib to Download Files
with ftplib, Transferring Files with ftplibAdding a User Interface
Trigger_Event function, Registration Implementation
try/finally statement, Ensuring file closure: Exception handlers and context managers
ttk extension toolkit, Python GUI Development Options, tkinter Extensions
tuple tree stacks, Optimization: Tuple Tree StacksOptimization: Tuple Tree Stacks
Turbo Gears tool collection, Python Internet Development Options
Twisted framework
overview, Python System Modules, Python Internet Development Options
server options, Running the select server
type command (Windows), What’s a shell command?

U

underscore (_), Standalone Container Classes
Unicode encoding
additional information, Strategies for Processing Text in Python
DBM files and, Using Shelves
email and, Unicode in Python 3.X and Email Tools
email package limitations overview, Unicode, Internationalization, and the Python 3.1 email Package
file policies, Unicode policies: File content versus file names
handling filenames, Handling Unicode Filenames in 3.X: listdir, walk, globUnicode policies: File content versus file names
Internationalized headers, Message header encodings: email package supportMessage header encodings: email package support
mailtools utility package, Unicode issues for attachments, save files, and headers, Unicode decoding for full mail text on fetches, Unicode decoding for text part payloads and message headers
message address headers, Message address header encodings and parsing, and header creationMessage address header encodings and parsing, and header creation
message composition issues, Workaround: Message composition for non-ASCII text parts is brokenWorkaround: Message composition for non-ASCII text parts is broken
message text generation issues, Workaround: Message text generation for binary attachment payloads is brokenWorkaround: Message text generation for binary attachment payloads is broken
overview, Other String Concepts in Python 3.X: Unicode and bytes, Binary and Text Files, Unicode encodings for text filesUnicode encodings for text files
parser decoding requirement, Parser decoding requirementParser decoding requirement
printing filenames, Printing Unicode FilenamesPrinting Unicode Filenames
PyEdit text editor, New Grep dialog: Threaded and Unicode-aware file tree search, Grep Unicode model, Unicode (Internationalized) text supportUnicode options and choices
PyMailCGI program and, Implementation Overview, The Send Mail Script
PyMailGUI program and, Version 3.0 Unicode support policiesVersion 3.0 Unicode support policies, Ideas for Improvement
text files and, The File Object Model in Python 3.X
text payload encodings, Text payload encodings: Handling mixed type resultsText payload encodings: Using header information to decode
Text widget and, Unicode and the Text WidgetSupporting Unicode in PyEdit (ahead)
unique function, Finding Directory Differences
unittest framework, Running the Test Driver
Unix platforms
changing permissions, HTML file permission constraints
executable scripts, Parsing Command-Line Arguments
find shell command, Greps and Globs and Finds
forking support, Forking Processes
preventing zombies, Preventing zombies with signal handlers on LinuxPreventing zombies with signal handlers on Linux
programming user interfaces, Python GUI Development Options
redirecting streams, Redirecting Streams to Files and Programs
shell command limitations, Shell command limitations
urllib module
CGI script support, Using Query Strings and urllibUsing Query Strings and urllib
client-side scripting, The urllib Package RevisitedInvoking programs and escaping text
downloading files, Using urllib to Download FilesUsing urllib to Download Files
PyMailCGI program and, Implementation Overview
urlretrieve interface, Other urllib Interfaces
urllib.parse module
CGI scripts and, Writing CGI Scripts in Python
functionality, Python’s Internet Library Modules
invoking programs, Invoking programs and escaping text
PyMailCGI program and, Passing State Information in URL Link Parameters
quote_plus function, Passing State Information in URL Link Parameters
URL escapes, Python HTML and URL Escape ToolsAvoiding conflicts
URL formatting, Internet addresses (URLs)
urlencode function, Passing State Information in URL Link Parameters
urllib.request module
CGI scripts and, Running Server-Side Examples
cookie support, HTTP “Cookies”, Handling cookies with the urllib.request module
downloading files, Using urllib to Download Files
functionality, Python’s Internet Library Modules, The urllib Package Revisited
HTML parsing and, HTML Parsing in Action
PyMailCGI program and, Running This Chapter’s Examples, Using the Send Mail Script Outside a Browser
screen scraping support, Python Internet Development Options
testing browsers with, Testing outside browsers with the module urllib.requestTesting outside browsers with the module urllib.request
urlopen method, Testing outside browsers with the module urllib.request
URLs
CGI script escape conventions, More on HTML and URL EscapesAvoiding conflicts
HTML conflicts and, HTML and URL conflicts: &
minimal, Using minimal URLs, Step 1: Sharing Objects Between Pages—A New Input Form
passing parameters, Passing parameters in URLsPassing parameters in URLs, Passing Parameters in Hardcoded URLsPassing Parameters in Hardcoded URLs, Passing State Information in URL Link ParametersPassing State Information in URL Link Parameters
PyMailGUI program improvements, Ideas for Improvement
query parameters, URL Query Parameters
reading mail with, Reading mail with direct URLs
syntax, Internet addresses (URLs)Internet addresses (URLs)
user interaction
checking for missing/invalid inputs, Checking for Missing and Invalid InputsChecking for Missing and Invalid Inputs
form tags, More on form tagsMore on form tags
passing parameters in URLs, Passing parameters in URLsPassing parameters in URLs, Passing Parameters in Hardcoded URLsPassing Parameters in Hardcoded URLs, Passing State Information in URL Link ParametersPassing State Information in URL Link Parameters
response script, Response script
submission page, Submission page
uu module, Python’s Internet Library Modules

W

weave package, Other Extending Tools
web browsers (see browsers)
Web frameworks, Python Internet Development Options
web pages
building with CGI scripts, A First Web PageHTML file permission constraints
generator script, Page Generator ScriptPage Generator Script
sharing objects between, Step 1: Sharing Objects Between Pages—A New Input FormStep 1: Sharing Objects Between Pages—A New Input Form
template files, Page Template File
web servers
root page examples, The Server-Side Examples Root Page
running CGI scripts, Running a Web ServerRunning a Web Server, Web Server Options
running local, Running a Local Web ServerRunning a Local Web Server
Web services, Python Internet Development Options
web-based interfaces
CGI scripts, CGI BasicsGUIs versus the Web
formatting reply text, Formatting Reply Text
programming suggestions, Future directions
query strings and, Using Query Strings and urllibUsing Query Strings and urllib
running web servers, Running a Web ServerRunning a Web Server
shelve module support, A Web-Based Shelve InterfaceFuture directions
toolkit suggestions, Step 6: Adding a Web Interface
urllib module support, Using Query Strings and urllibUsing Query Strings and urllib
webbrowser module, Playing Media FilesPlaying Media Files, The Python webbrowser ModuleThe Python webbrowser Module
websites
accessing, HTTP: Accessing WebsitesHTTP: Accessing Websites
design considerations, Keeping display and logic separate
generating redirection web pages, Generating Redirection Web PagesPage Generator Script
widget builder functions, Widget Builder Functions
widgets, Message and Entry
(see also specific widget classes)
adding multiple, Adding Multiple WidgetsUsing Anchor to Position Instead of Stretch
adding via CGI scripts, Adding Common Input DevicesAdding Common Input Devices
advanced, Other Widgets and Options
after tool, Time Tools, Threads, and Animation, Simple Animation Techniques, Using widget.after events
after_cancel tool, Time Tools, Threads, and Animation
after_idle tool, Time Tools, Threads, and Animation
anchor option, Using Anchor to Position Instead of StretchUsing Anchor to Position Instead of Stretch
attaching to frames, Attaching Widgets to Frames, Attaching FramesConfiguring at construction time
bd option, Configuring Widget Appearance
binding events, Binding EventsMore on <Destroy> events and the quit and destroy methods
clipping, Widget Resizing Revisited: Clipping
config method, Configuring Widget Options and Window Titles, Configuring Widget Appearance
configuring appearance, Configuring Widget AppearanceConfiguring Widget Appearance
configuring options, Configuring Widget Options and Window Titles
constructing, Making Widgets
cursor option, Configuring Widget Appearance
customizing labels, Configuring Widget Appearance
customizing with classes, Customizing Widgets with ClassesCommon appearance
dialogs and, DialogsOther ways to be modal
expanding, Widget Resizing Revisited: Expansion
focus tool, Time Tools, Threads, and Animation
grab tool, Time Tools, Threads, and Animation
hiding and redrawing, Hiding and redrawing widgets and windows
laying out input forms, Laying Out Input FormsGoing modal again
packing layout, Layout: Packing Order and Side AttachmentsUsing Anchor to Position Instead of Stretch
packing without saving, Packing Widgets Without Saving ThemPacking Widgets Without Saving Them
pack_forget method, Hiding and redrawing widgets and windows
padx option, Configuring Widget Appearance
pady option, Configuring Widget Appearance
positioning in windows, Geometry Managers
PyCalc program as, Using PyCalc as a componentUsing PyCalc as a component
redirecting streams to, GuiStreams: Redirecting Streams to WidgetsUsing Redirection for the Packing Scripts
resizing, Widget Resizing BasicsWidget Resizing Basics, Widget Resizing Revisited: Clipping
standardizing appearance, Common appearance
standardizing behavior, Common behavior
state option, Configuring Widget Appearance
tkinter widget classes, The End of the Tutorial
top-level windows, Top-Level WindowsTop-Level Window Protocols
update tool, Time Tools, Threads, and Animation
update_idletasks tool, Time Tools, Threads, and Animation
wait_variable tool, Time Tools, Threads, and Animation
wait_visibility tool, Time Tools, Threads, and Animation
wait_window tool, Time Tools, Threads, and Animation
wildcard characters, The glob module
windows
automating building, Wrapping Up Top-Level Window InterfacesWrapping Up Top-Level Window Interfaces
configuring titles, Configuring Widget Options and Window Titles
hiding and redrawing, Hiding and redrawing widgets and windows
independent, Independent WindowsIndependent Windows
menus and toolbars, Windows with Both Menus and ToolbarsAutomating menu construction
popping up on demand, Popping Up GUI Windows on DemandPopping Up GUI Windows on Demand
positioning widgets in, Geometry Managers
PyEdit text editor, Multiple windowsMultiple windows
PyMailGUI program support, Multiple Windows and Status MessagesMultiple Windows and Status Messages
Windows environment
avoiding DOS consoles, Avoiding DOS consoles on Windows
Component Object Model, Python Internet Development Options
directory paths, The Module Search Path
Distributed Component Object Model, Python Internet Development Options
programming user interfaces, Python GUI Development Options, Python GUI Development Options
redirecting streams, Redirecting Streams to Files and Programs
shell command limitations, Shell command limitations
standard streams and, Standard Streams
tkinter support, Running the Examples
with statement, Ensuring file closure: Exception handlers and context managers
wrapping
C environment calls, Wrapping C Environment CallsWrapping C Environment Calls with SWIG
C++ classes with SWIG, Wrapping C++ Classes with SWIGExploring the wrappers interactively
descriptors in file objects, Wrapping descriptors in file objects, Wrapping pipe descriptors in file objects
writing
CGI scripts, Writing CGI Scripts in PythonWriting CGI Scripts in Python
custom language parsers, Custom Language ParsersParsers Versus Python
files, Writing
wxPython system, Python GUI Development Options

X

X11 interface, Python GUI Development Options
xdrlib module, Python’s Internet Library Modules
xml package
development options, Python Internet Development Options
functionality, XML and HTML Parsing
XML parsing
additional resources, Other XML topics
DOM parsers, XML and HTML Parsing, DOM parsing
ElementTree support, XML and HTML Parsing, ElementTree parsing
functionality, XML Parsing in Action
overview, Python Internet Development Options, XML and HTML Parsing
regular expressions and, Regular expression parsing
SAX parsers, XML and HTML Parsing, SAX parsing
third-party tools, Other XML topics
XML-RPC
functionality, Python Internet Development Options
integration considerations, Other Integration Topics
persistence options, Persistence Options in Python
pickled objects and, Using Object Pickling
xml.etree package, ElementTree parsing
xmlrpc package, Other Client-Side Scripting Options, XML and HTML Parsing

Y

YAPPS parser generator, Advanced Language Tools
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset