Index

Symbols

#!/usr/local/bin/python, Discussion
-u command-line option, Discussion
4Suite’s xml.xslt package, Solution
; (semicolon), Discussion
&quot and XML editors, Discussion
<?xml, Discussion
> (right angle bracket), Discussion
<< operator, Discussion
* and ** tokens, Introduction
(backslash), String Basics, File Basics
raw-string syntax, and, Discussion
Windows global IDs, and, Discussion
[?? ??] and [!! !!] for embedded code blocks, Discussion
, (comma), use in packing, Discussion
#! (shebang), Discussion
( ) (parentheses)
tuples, and, Discussion
+ (plus) operator, Solution
?: (ternary operator), Discussion, See Also
(see also ternary operator)
' (quote, single), String Basics
" (quote, double), String Basics, Solution
''' or “"” (triple quotes), String Basics
' ' (space) joiner, Solution
/ (forward slash), File Basics
% (string-formatting operator), String Basics, Solution, Discussion
named-values variant, Solution
_ (underscore), Module: Interactive POP3 Mailbox Inspector
_findCookie, Discussion
_getCookieFiles, Discussion
_getframe, Solution, Solution
_getLocation, Discussion
_read_ready, Discussion
_winreg module, Introduction
_winreg module, Discussion
_write_data, Discussion
_ _call_ _, Discussion, Discussion, Discussion
composing functions using, Solution
_ _class_init_ _, Solution
_ _contains_ _, Solution
_ _copy_ _, Problem
_ _debug_ _ variable, Discussion
_ _dict_ _, Discussion
instance’s state, and, Discussion
_ _eq_ _, Discussion
_ _excepthook_ _, Discussion
_ _getattr_ _, Solution, Discussion
_ _getstate_ _, Discussion
_ _hash_ _, Discussion
_ _import_ _, Solution
_ _init_ _, Problem
_ _setattr_ _, Solution
_ _setstate_ _, Discussion
_ _slots_ _, Discussion
_ _str_ _, Solution
_getframe, Discussion

A

accept, Discussion
Access database application (see under Microsoft)
accidental complexity, Introduction
accumulate, Discussion
acquire_read, Discussion
Active Directory Services Interface (ADSI), Solution
adapter class, Discussion
add, Introduction, Discussion
AddPage, Discussion
addSpaces, Discussion
add_cascade, Discussion
add_checkbutton, Discussion
add_command, Discussion
add_separator, Discussion
adict.get, Discussion
adopt_class, Discussion
ADSI (Active Directory Services Interface), Solution
algorithms, Introduction, See Also
binary search, Problem
books covering, Introduction
convex hull of a set of 2D points, finding, Module: Finding the Convex Hull of a Set of 2D Points
duplicates, removing from a sequence, Problem
maintaining sequence order, Problem, Discussion
factorials, computing with lambda, Problem
Fibonacci sequence, generating, Problem
FIFO (first-in first-out) container, implementing, Problem, Discussion
histograms, Problem, Discussion
infinite sequences, generating, Problem
iterators, operating on, Problem, See Also
measuring efficiency of, Introduction
timing code, excluding from measurement, Introduction
in Unix, Introduction
in Windows, Introduction
memoizing the return values of functions, Problem, Discussion
numbers, converting to rationals via Farey fractions, Problem, See Also
parsing strings into date/time objects portably, Module: Parsing a String into a Date/Time Object Portably, See Also
polynomials, evaluating, Problem
predicate tests, evaluating across sequences, Problem
priority queues, modeling, Problem
quicksort
in three lines, Problem
rolling dice, Problem
sorted lists, maintaining, Solution
sorting, Searching and Sorting FAQ, Searching and Sorting FAQ
Soundex, Solution
ternary operator (C language), simulating in Python, Problem, Discussion
unbounded iterators, wrapping to restrict output, Problem
undefined variables, testing for, Problem, See Also
words, looking up by sound similarity, Problem
all_members, Discussion
Amoeba, Introduction
The Analytical Language of John Wilkins, Introduction
and (logical and), Discussion
antipatterns
modification of library code, Solution
any, Discussion
Apache servers
client cache hits, calculating the rate of, Problem
log files, calculating IP hits using, Problem
append, Discussion
application message loop (Windows), Solution
application-specific languages, Parsing
graphs, for description of, Using Python Itself as a Little Language
Python, using to create, Using Python Itself as a Little Language
arrangeclassmethods, Solution
arrays
two-dimensional, transposition of, Problem
ASCII strings, String Basics
assigning and testing with one statement, Problem
assignment, Discussion
assignments-as-expressions, transliteration into Python, Problem
attributes, Introduction
automatic caching, Discussion
automatic delegation, Problem
AutoTelnet class, Discussion
auxiliary dictionaries, Solution

B

backslash (), String Basics, File Basics
raw-string syntax, and, Discussion
Windows global IDs, and, Discussion
Bags, Discussion
bgen, Introduction
Binary (pycopg module, escaping function), Solution
binary and text file handling in Python, Discussion
binary data, sending to Windows standard output, Problem
binary insertion sort, Searching and Sorting FAQ
binary mode and text mode, File Basics
binary search algorithm, Problem
binary strings, escaping characters for in MySQL, Discussion
bisect module, Discussion, Solution
BLOBs (binary large objects)
MySQL databases, storing in, Problem
PostgreSQL databases, storage in, Problem
Boost Python Library, Introduction
Borg class, Solution
Borg design nonpattern, Problem, Discussion
alternatives to, Discussion
Borges, Jorge Luis, Introduction
bound methods, Discussion
breakpoints, setting in dynamically loaded C/C++ extensions, Discussion
broadcaster module, Solution
broker module, Solution
buffers, implementing in ring form, Problem
built-in methods, overriding, Problem
built-in sequence-manipulation functions, generator versions, Discussion
byte offset, Solution
byte-order issues, IP address conversion, Discussion
bytes, contrasted with characters, Discussion

C

C and C++
breakpoints, setting in dynamically loaded extensions, Discussion
C arrays, translating Python sequences into, Problem, See Also
C-coded Python extensions (see C-coded Python extensions)
connecting C routines to Python, Parsing
enum type, Discussion
simulating in Python, Problem
performance, measuring compared to Python, Discussion
Python extension module tools for, Introduction
ternary operator, simulating in Python, Problem, Discussion, Discussion
C-coded Python extensions, Discussion
coding the methods of a Python class, Problem, See Also
compiler requirements, Discussion
debugging with gdb, Problem
implementing C function callbacks to a Python function, Problem, See Also
memory problems, debugging, Problem
new and borrowed references, preventing problems with, Discussion
Python sequence, accessing item by item, Problem, See Also
releasing the Python global interpreter lock, Problem
returning None from a callable C function, Problem
Py_None and reference counts, Discussion
SWIG-generated modules in a multithreaded environment, Problem
caching the return values of functions, Problem, Discussion
_ _call_ _, Discussion, Discussion, Discussion
composing functions using, Solution
callables, currying, Problem
callback functions
avoiding Lambda in writing, Problem
“can’t pickle file objects exception” TypeError, Solution
canonicform, Discussion
Canvas widget, Introduction
capitalize (string function), Solution
cascade entries, Discussion
case statement, Python equivalent, Problem
case, conversions between upper and lower, Problem
The Celestial Emporium of Benevolent Knowledge, Introduction
center (string object method), Solution
central.py, Discussion, Solution, Discussion
CGI (Common Gateway Interface), Discussion
cgi module, Solution, Discussion
CGI scripts, Solution
location of import statements, Discussion
output of, Discussion
writing a script, Problem
CGI testing, Problem
directing error output to standard output, Discussion
handling URLs in a script, Problem
using a simple dictionary for CGI parameters, Problem
cgi.escape, Discussion
cgitest.py, Discussion
character encodings, Discussion
MIME parts, Discussion
character sets, What Is Text?
CharacterDataHandler, Discussion
characters
contrasted with bytes, Discussion
converting to values, Problem
characters method, Discussion
checkbutton entries, Discussion
checkcache, Discussion
chmod, GUI implementation, Solution
chr, Solution
class adoption, Discussion
class methods, Discussion
implementing, Problem
class objects, Introduction
class statement, Introduction
classes
classic classes, Discussion
constructors, Introduction
controlling class behavior by defining a custom metaclass, Problem
dictionaries, wrapping, Problem
functionality, adding to, Problem
getting all members of a hierarchy, Problem
inner classes, Discussion
memory usage, tracking, Problem
modeling a set, Problem
Python recoded to C, Problem
saving and restoring via cPickle module, Problem, See Also
tracking instances of, Problem
classmethod, Solution
Classname.method(self, ...) syntax, Introduction
ClassWithClassMethods, Solution
_ _class_init_ _, Solution
clearcache, Discussion
client.py, Discussion
CLIs (command-line interfaces), Introduction
close, File Basics
CloseKey, Discussion
cmp, Discussion
cmp(s1, s2), Python equivalent, Introduction
code reuse by inheritance, Discussion
code, replacing with code-execution results, Problem, See Also
collecting a bunch of named items, Problem
collections, implementing, Problem
color scales, creating, Problem
color, using to provide feedback to user input, Discussion
COM automation
accessing ADSI via, Solution
WSH, accessing via, Solution
Command class, Discussion
command entries, Discussion
command files, parsing, Problem
command-line interfaces (see CLIs)
commands, running repeatedly, Problem
commas, use in packing, Discussion
comparison functions compared to DSU, Searching and Sorting FAQ
compile, Discussion
compiler requirements, C-coded Python extensions, Discussion
compose, Discussion
composition (of functions), Solution
computer languages, application-specific, Parsing
concurrent processing, Introduction
ConfigParser library module, Solution
connect, Discussion
ConnectRegistry, Discussion
constants, defining, Problem
constructors, Introduction, Discussion
use in debugging, Solution
_ _contains_ _, Solution
containsAll, Discussion
containsAny, Discussion
ContentHandler, Discussion
subclasses, Discussion
subclassing, Solution
text, extracting from XML documents, Solution
convex hull of a set of 2D points, finding, Module: Finding the Convex Hull of a Set of 2D Points
cookies
Cookie and CookieInfo classes, Discussion
cookie information, accessing in Netscape, Problem, See Also
finding on Internet Explorer, Solution
_ _copy_ _, Problem
copy-and-paste coding, Discussion
copy.copy, Discussion
copying objects, Problem
CORBA, Introduction
client and server implementation, Problem
RPCs, contrasted with, Introduction
count (string object methods), String Basics
counts method, Discussion
cPickle module, Introduction, Problem, See Also
binary vs. text format, Discussion
classes and instances, using on, Problem, See Also
data serialization using, Solution
dump vs. dumps, Discussion
Python version compatibility, Discussion
cPickle.dumps, Discussion
CreateMutex, Discussion
cStringIO module, Portability and Flexibility
CSV (comma-separated values) files
conversion to XML, Module: Converting a List of Equal-Length Lists into XML
parsing, See Also
curry function, Discussion
Curry, Haskell, Discussion
currying, Problem, See Also
lexically nested scopes, and, Discussion
cursor, Discussion
cursor’s description attribute, using for display formatting, Discussion
custom metaclasses, Discussion
cwd, Discussion
CXX, Introduction

D

daemon processes, forking on Unix, Problem
daemon threads, Introduction
DAO, Jet database migration using, Module: jet2sql—Creating a SQL DDL from an Access Database
data
processing selected pairs of structured data efficiently, Problem
database systems, Introduction, Module: jet2sql—Creating a SQL DDL from an Access Database
accessing columns by field name, Discussion
different types, Introduction
field names, mapping to column numbers, Problem
JDBC access via Jython servlets, Solution, See Also
lazy connections to, Problem, Discussion
Python programming for, Introduction
relational databases, Introduction
SQL implementations, Introduction
DatabaseTuple class, Discussion
datagram sockets, Solution
passing large messages, Discussion
dbutils.py, Discussion
_ _debug_ _ variable, Discussion
debugging and testing, Introduction, See Also
C extensions, dynamically loaded, debugging with gdb, Problem
classes, adding functionality to, Discussion
current function, determining the name of, Problem
currying, use in, Discussion
debugging garbage collection, Problem
interactive debuggers, limitations of, Discussion
introspecting the call stack with older Python versions, Problem
logging and tracing across platforms, Problem
memory problems associated with C extensions, Problem
modules, automating reloading, Problem
starting debugger automatically after uncaught exceptions, Problem
strategies, Introduction
tracing a class’s defined methods, Solution
tracing expressions and comments in debug mode, Problem, See Also
tracking instances of particular classes, Problem
wrapping tracebacks in HTML, Problem
decorate-sort-undecorate (see DSU)
deep copies, Discussion
def statement, Introduction
dele (poplib module), Module: Interactive POP3 Mailbox Inspector
delegation, Introduction
automatic, as an alternative to inheritance, Problem
of messages to multiple objects, Problem
delete_thread_storage, Discussion
delSpaces, Discussion
design nonpatterns
Borg class, Solution
Borg design nonpattern, Problem, Discussion
alternatives to, Discussion
design patterns, See Also
(see also design nonpatterns)
Letter/Envelope, Discussion
Monostate pattern, Discussion
Null Object design pattern, Problem, See Also
Singleton, Problem, See Also
Template-Method design pattern, Introduction
dialog boxes, Problem
creating with Tkinter, Problem
Dialog widget, Solution
_ _dict_ _, Discussion
instance’s state, and, Discussion
dictionaries
auxiliary, use in processing data pairs, Solution
classes, wrapping in, Problem
constructing without quoting keys, Problem
dispatch using, Problem
entries, adding, Problem
explicit specification, Discussion
get, Solution
histograms, using for, Solution
intersections, finding between, Problem
keys, mapping multiple values to, Problem
setdefault, Solution
sorting of, Problem, See Also
storing function results in, Solution
threads, allocation of storage for, Solution
tracking_classes, Discussion
type, hash table used for, Searching and Sorting FAQ
values, obtaining from, Problem
wrapping into callable objects, Solution
dictionary display, alternative to, Solution
diff tool, Discussion
difflib module, Discussion
directories
computing sizes across platforms, Problem, See Also
conditional addition to search path, Solution
creating, including parent directories, Problem
walking directory trees, Problem
diskspace, determining usage, Problem, See Also
distributed middleware architectures
central middleware process, Solution
client script, Solution
gateway for XML-RPC services, Solution
Publish/Subscribe, and, Problem, See Also
Request/Reply, using in, Problem
server script, Solution
distributed programming, Introduction, See Also
CORBA, Introduction
client and server implementation, Problem
modules for, Introduction
O’Reilly’s Meerkat server, accessing via RPC, Solution
Publish/Subscribe, using in distributed middleware architecture, Problem, See Also
remote logins using telnetlib, Problem, See Also
Request/Reply, using in a distributed middleware architecture, Problem
RPCs (remote procedure calls), Introduction
SOAP (Simple Object Access Protocol), Introduction
web services that support XML-RPC and SOAP, Problem, See Also
XML-RPC, Introduction
Medusa, using with, Problem, See Also
method calls, making, Solution
serving requests, Problem, See Also
distutils package, Solution
divmod, Discussion
DNS name server addresses, viewing in Windows registry, Problem
Document Object Model (see DOM)
dodict, Discussion
DOM (Document Object Model), Introduction
domain names, normalizing to fully qualified domain names (FQDN), Discussion
double quotes, String Basics
drop wrapper, Discussion
DSU (decorate-sort-undecorate), Introduction, Solution
comparison functions, compared to, Searching and Sorting FAQ
decorate step, Discussion
decorating an object with print-like methods, Problem
decorating objects with new functions, Discussion
reverse sorting, Discussion
sort step, Discussion
sorting a list of objects by object attributes, Solution
undecorate step, Discussion
dtuple module, Problem
du command, Discussion
dump (cPickle module), Solution, Discussion
vs. dumps, Discussion
dump (marshal module), Module: Versioned Backups
dumps (cPickle module), Discussion
dumps (marshal module), Solution
dump_garbage, Discussion
duplicates, removing from a sequence, Problem
maintaining sequence order, Problem, Discussion

E

EAFP (Easier to Ask Forgiveness than Permission), Discussion
email
IMAP inbox, polling and display of sender, subject, Module: Watching for New IMAP Mail Using a GUI
inspection and cleanup on a POP3 server, Module: Interactive POP3 Mailbox Inspector
multipart MIME email, sending, Problem
inclusion of files in the current directory, Problem
order of calls to writer, Discussion
sending in HTML and plaintext format, Problem
email module, Solution, Discussion
embedded code blocks, delineation using [?? ??] and [!! !!], Discussion
embedded expressions, evaluating, Problem
empty string ('') joiner, Solution
encodings, What Is Text?, Discussion
end-of-line characters
files, counting lines using, Solution
end-of-line characters, automatic conversion on imported modules, Problem
end-of-line characters, different OS’s, Discussion
endElement, Discussion
EndElementHandler, Discussion
enhance_method, Solution
EnsureDispatch, Module: jet2sql—Creating a SQL DDL from an Access Database
entries, adding to a dictionary, Problem
enum type, Discussion
Enumeration class, Discussion
enumerations, simulating in Python, Problem
EnumValue, Discussion
error streams, capturing from a Unix shell command, Problem
escape (cgi module), Solution, Discussion
escape_string, Discussion
escaping of characters
cgi scripts, Discussion
quotation marks, minidom, Discussion
event-basing of GUI toolkits, Introduction
every, Discussion
_ _excepthook_ _, Discussion
exceptions
automatic debugging, Problem
exc_info, Discussion
exec statement
activating plug-ins, risks associated with use for, Discussion
execute, Discussion
expandtabs (string method), Solution
Expat, Introduction, Solution
expressions
evaluating code within strings, Problem
extending Python, Introduction, See Also, See Also
(see also C-coded Python extensions)
C arrays, translating Python sequences into, Problem, See Also
coding the methods of a Python class in C, Problem, See Also
debugging memory problems, Problem
dynamically loaded C extensions, debugging with gdb, Problem
implementing a simple extension type in C, Problem, See Also
implementing C function callbacks to a Python function, Problem, See Also
module-building tools, Introduction
Python sequences, accessing item-by-item with the iterator protocol, Problem, See Also
returning none from a Python-callable C function, Problem
using SWIG-generated modules in a multithreaded environment, Problem
Extensible Stylesheet Language Transformations (see XSLT)
extension modules, Introduction, Introduction
ExtensionClass class, Solution
ExtensionClass.Base, Solution
extract_stack, Solution
output of, Discussion

F

f2py, Introduction
factorials, computing with lambda, Problem
factory functions, Discussion
factory methods, Discussion
farey, Discussion
Farey fractions, Discussion
conversion of numbers to rationals, using for, Problem, See Also
Farey, James, Discussion
fcntl module, Solution
fetchall, Discussion
Fibonacci sequence, generating, Problem
FieldStorage class, Solution
FIFO (first-in first-out) container, implementing, Problem, Discussion
double-linked lists, with, Discussion
linked lists, with, Solution
single-linked lists, with, Discussion
standard lists, with, Discussion
file extensions, swapping throughout a directory tree, Problem
file locking using a cross-platform API, Problem
file objects, File Basics
variables, binding to, Solution
file reading functions, Solution
file-based transformations, Sources of Text
file-processing interface and file-like objects, Portability and Flexibility
files, Introduction, See Also
bundling in a MIME message, Problem
byte offset of, Solution
closing, File Basics
explicitly, Discussion
counting lines in, Problem
benchmarking, Discussion
line terminators, using, Solution
extraction of a single line, Problem
file extensions, swapping throughout a directory tree, Problem
file objects, File Basics
variables, binding to, Solution
file-based transformations, Sources of Text
finding on the Python search path, Problem
finding using a search path, Problem
I/O, File Basics
large files, problems handling, Discussion
locking, cross-platform method, Problem
opening, File Basics
processing every word in, Problem
random access I/O on files with fixed-length records, Problem
updating of records, Problem
reading, File Basics, Problem
100 bytes at a time, Discussion
data from ZIP files, Problem
INI configuration files, Problem
lines with continuation characters, Problem
text by paragraphs, Problem
retrieving a line at random, Problem
saving backups while writing, Module: Versioned Backups, See Also
script portability and interface flexibility in Python, Portability and Flexibility
searching and replacing text, Problem
string substitution in, Solution
updating of random access files, Problem
versioning filenames, Problem
writing to, File Basics, Problem
filter, Discussion
alternative to, Problem
generalization to lazy evaluation, Solution
_findCookie, Discussion
flatten, Problem
floatRGB, Solution
floats, spanning a range defined by, Problem
flush, Discussion
FlushingWrapper class, Discussion
fork, Discussion
format_exception, Solution
format_tb, Solution
forName, Discussion
Fortran
extension module tools for, Introduction
routines, connecting to Python, Parsing
fortune-cookie distribution over the network, Problem
fortune.idl, Solution
forward slash (/), File Basics
FourThought 4Suite package, Introduction
frame objects, Solution
frange, Solution
from _ _future_ _ import generators statement, Discussion
FTP (File Transfer Protocol) client script, Problem
ftplib module, Solution
function calls
pattern matches, based on, Problem
FunctionFilelikeWrapper class, Discussion
functions
assigning to threads, Problem
associating parameters with (currying), Problem, See Also
composing, Problem
current function, finding the name for debugging, Problem
factory functions, Discussion
generators, Discussion
in other languages, Python wrappers for, Introduction
making available as class attributes, Discussion
map
compared to list comprehensions, Discussion
memoization, requirements for, Discussion
memoizing (caching) return values, Problem, Discussion
funcToMethod, Solution
functors, Problem
Future class, Solution

G

g=iter(g) idiom, Discussion
Gadfly, Introduction
garbage collection
debugging, Problem
gateway.py, Discussion
gc module, Solution
gc.collect, Discussion
gc.garbage, Discussion
gc.set_debug, Discussion
gdb, Discussion
generateSQL, Discussion
generateXML, Discussion
generators, Discussion, Discussion
as wrappers for iterators, Problem
iterators, contrasted with, Discussion
genEven, Discussion
genWhile wrapper, Discussion
get, Solution, Discussion
_ _getattr_ _, Solution, Discussion
getCommandOutput(command), Discussion
getConnection (java.sql.DriverManager class), Discussion
_getCookieFiles, Discussion
getfqdn, Discussion
_getframe, Solution, Solution
gethostbyaddr, Discussion
gethostname, Discussion
getItems, Discussion
_getLocation, Discussion
getQualifiedURL, Discussion
_ _getstate_ _, Discussion
getting all members of a class hierarchy, Problem
get_main_type, Discussion
get_payload, Discussion
get_thread_storage, Discussion
get_values_if_any, Discussion
GIFs, inline embedding using Tkinter, Problem
GIL (Global Interpreter Lock), Introduction
global IDs and Windows, Discussion
Global Interpreter Lock (GIL), Introduction
globals, Discussion
graphical user interfaces (see GUIs)
graphs, application-specific language for, Using Python Itself as a Little Language
Grayson, John E., Discussion
GTK GUIs, building interactively, Module: Building GTK GUIs Interactively, See Also
gtk.mainloop, running in a separate thread, Module: Building GTK GUIs Interactively
GUI toolkits, managing options, Problem, See Also
GUIs (graphical user interface)
for polling an IMAP inbox, Module: Watching for New IMAP Mail Using a GUI
GUIs (graphical user interfaces), Introduction
anygui package, Solution, Discussion
current stage of development, Discussion
anygui project, Introduction
building toolkit-independent GUIs, Problem
constructing callback functions for (currying), Discussion
creating, Introduction
toolkits, Introduction

H

handleStartElement, handleEndElement, and handleCharData, Discussion
_ _hash_ _, Discussion
hash tables
Python dictionary type, Searching and Sorting FAQ
Haskell programming language, Solution
has_key, Discussion
has_key_with_some_values, Discussion
HDC (Homogenize Different Cases), Discussion
helper, Discussion
histograms, Problem, Discussion
Homogenize Different Cases (HDC), Discussion
Horner’s formula, Problem
hostnames
proper coding in CGI scripts, Discussion
hostnames, finding your own and your IP address, Problem
hotkeys for Windows shortcuts, displaying, Problem
HotShot, See Also
HTML
dangerous tags and Javascript, stripping out, Problem
dynamic creation of, Discussion
email, sending, Problem
parsing, Introduction
wrapping tracebacks in, Problem
HTTP
downloads, resumption after interruption, Problem
Range header, Discussion

I

I/O (input/output)
file objects, and, File Basics
locking and unlocking, Introduction
random access of files, Problem
IDEs (integrated development environments), compatible debugging and testing, Solution
if _ _debug_ _: test, Discussion
IMAP inbox, polling and display of sender, subject, Module: Watching for New IMAP Mail Using a GUI
imaplib module, Module: Watching for New IMAP Mail Using a GUI
immutability of strings, String Basics
ImpersonateLoggedOnUser, Discussion
_ _import_ _, Solution
import statements, Discussion
CGI test script, Discussion
memory checking by, Discussion
importCode, Discussion
in operator, Discussion
indentation of multiline strings, changing, Problem
infinite sequences, generating, Problem
inheritance, Introduction
enabling code reuse, Discussion
multiple inheritance, Introduction
Python 2.2, Solution
single inheritance, Introduction
INI files, Problem
_ _init_ _, Problem
initOptions, Discussion
inner classes, Discussion
INSERT statement and binary data, Discussion, Discussion
insort, Discussion
instance objects, Introduction
modifying the class hierarchies of, Problem
saving and restoring via cPickle module, Problem, See Also
state, Discussion
instancemethod, Discussion
integers and Roman numerals, conversion between, Module: Roman Numerals, See Also
interactive debuggers, limitations of, Discussion
international standard encodings, String Basics
Internet, protocols and formats supported by Python, Introduction
intersections of dictionaries, finding, Problem
intrinsic complexity, Introduction
introspection, Introspection
IP addresses
creating dictionaries for, Discussion
dotted quads and long integers, converting between, Problem
finding your own hostname and IP address, Problem
network part, expression, Discussion
validation of, Discussion
ipToNetAndHost, Discussion
isAString, Discussion
iscapitalized, Discussion
isdigit (string object methods), String Basics
isinstance, Solution, Solution
ISO-8859 encodings, Discussion
isStringLike, Discussion
iter, Discussion
iteration, termination conditions, Solution
iterators, Discussion
generators, contrasted with, Discussion
operating on, Problem, See Also
utility functions for, Discussion

J

Java libraries and Python code, Discussion
JDBC databases, access via Jython servlets, Solution, See Also
Jet database engine (see Access database application)
jet2SQL, Module: jet2sql—Creating a SQL DDL from an Access Database, Module: jet2sql—Creating a SQL DDL from an Access Database
join (string object methods), String Basics, Discussion
Jython servlets, JDBC database access using, Solution, See Also
Jython, running a servlet with, Problem

K

keys, Discussion, Discussion
keyword module, Discussion
Knuth, Donald, Introduction

L

lambda
avoiding in writing callback functions, Problem
avoiding usage of, Discussion
currying, and, Discussion
factorials, computing with, Problem
languages, application-specific, Parsing
large files, problems associated with, Discussion
Latin-1and -2 encodings, Discussion
lazy evaluation, Discussion
lazy operation, Solution
LazyDB module, Discussion
LBYL (Look Before You Leap), Solution, Discussion
left angle brackets (<<), Discussion
Letter/Envelope design pattern, Discussion
lexers, Module: XML Lexing (Shallow Parsing)
lexicographical order, Introduction
lexing, Lexing
string character of numerical data, Lexing
vs. parsing, Parsing
lexxml, Module: XML Lexing (Shallow Parsing)
libraries
avoiding modification of code, Solution
line terminators in text files, Discussion
using to count lines in, Solution
line-termination characters, File Basics
linecache, Discussion
linecache module, Solution
LineEdit widget, Discussion
lines
rejoining split lines for processing, Problem
link.py, Discussion
list, Solution
list comprehensions, Introduction, Problem
compared to map, Discussion
looping through multiple lists, Discussion
list-like objects, unzipping, Problem
Listbox widget, Solution
listboxes, Problem
listdir, Discussion
listFiles, Discussion
lists
of lists, creating without sharing references, Problem
random selection of elements from, Problem
reversing strings, use in, Solution
sorted lists, maintaining, Solution
“little languages” (see application-specific languages)
ljust (string object method), Solution
loads, Solution, Solution
locking files, Problem
write locks with multithreaded read access, Problem
logger module, Discussion
logging across platforms, Problem, See Also
logical and, Discussion
logical or, Discussion
LogicalLines class, Solution
login, Discussion
logins, remote using telnetlib, Problem, See Also
logInstanceCreation, Solution
LogonUser, Discussion
Look Before You Leap (LBYL), Solution, Discussion
looping
in parallel over index and sequence items, Problem
through multiple lists, Problem
lower (string object method), Solution
lowercase, conversion to uppercase, Problem
lstrip (string object method), Solution

M

Macintosh
Python extension module tools for, Introduction
text files, line terminators for, Discussion
mail (see email)
mail user agents (MUAs), Discussion
main, Discussion
makedict, Discussion
makefile, Discussion
makefilter, Discussion
makeImageWidget, Discussion
makepass.py, Solution
makepy.py, Module: jet2sql—Creating a SQL DDL from an Access Database
maketrans (string module), Solution, Discussion
map, Discussion, Discussion
alternative to, Problem
compared to list comprehensions, Discussion
generalization to lazy evaluation, Solution
looping through multiple lists, Solution
string processing, using, Solution
marshal module, Module: Versioned Backups, Introduction, Problem, See Also
compatibility, Python versions, Discussion
matching sets, Solution, See Also
MatchObject (re module), Discussion
mcompose, Discussion
.mdb file extension, Module: jet2sql—Creating a SQL DDL from an Access Database
Medusa
XML-RPC, and, Problem, See Also
medusa package, Solution
Meerkat server, accessing via RPC, Solution
Memoize class, Discussion
MemoizeMutable class, Discussion
memoizing, Discussion
the return values of functions, Problem, Discussion
memory
debugging allocations, Discussion
tracing leaks, Problem
Menu widget, Discussion
menus
creating with Tkinter, Problem
entry types, Discussion
mergesort, Searching and Sorting FAQ
message pump (Windows), Solution
messages, delegating to multiple objects, Problem
“metatype conflict among bases” TypeError exception, Discussion
meta_tracer custom metaclass, Discussion
methods, Introduction
adding to a class at runtime, Problem
attributes, as, Discussion
bound methods, Discussion
holding while allowing garbage collection, Problem
built-in, overriding, Problem
class methods, implementing, Problem
coding a Python class in C, Problem, See Also
defining, Introduction
enabling tracing by wrapping in a custom metaclass, Solution
factory methods, Discussion
implementing static methods, Problem
superclass implementations, calling, Problem
synchronization in an object, Problem
method_logger, Solution
Microsoft
Access
creating a SQL DDL, Module: jet2sql—Creating a SQL DDL from an Access Database, Module: jet2sql—Creating a SQL DDL from an Access Database
jet2SQL, Module: jet2sql—Creating a SQL DDL from an Access Database, Module: jet2sql—Creating a SQL DDL from an Access Database
migration to other DBMSs, Module: jet2sql—Creating a SQL DDL from an Access Database
DAO, Jet database migration using, Module: jet2sql—Creating a SQL DDL from an Access Database
Internet Explorer cookies, finding, Solution
Jet databases, migration to other DBMSs, Module: jet2sql—Creating a SQL DDL from an Access Database
SQL Server, access via JDBC, Solution
Windows (see Windows)
middleware (see distributed middleware architectures)
MIME (Multipurpose Internet Mail Extensions), Discussion
files, bundling in a MIME message, Problem
HTML email sending, Problem
MIME parts, character encoding, Discussion
multipart MIME email, sending, Problem
inclusion of files in the current directory, Problem
order of calls to writer, Discussion
multipart MIME email, unpacking, Problem
mimetools module, Solution
MimeWriter module, Solution
minidom, quotation mark escaping, handling, Discussion
modules
automated reloading during debug and test, Problem
importation from module whose name is determined at runtime, Problem
importing with automatic end-of-line conversions, Problem
module-building tools, Introduction
removing from memory, Discussion
MoinMoin, Discussion, Discussion
Monostate pattern, Discussion
mro variable, Discussion
MsgWaitForMultipleObjects, Problem
msvcrt module, Discussion
MUAs (mail user agents), Discussion
multidimensional lists, creating, Problem
MultiListbox._ _init_ _, Discussion
multiple inheritance, Introduction
Multiplex object, Discussion
Multiplex._ _call_ _, Discussion
multiplexed function calls, Discussion
multiplexing and the dictionary interface, Discussion
Multipurpose Internet Mail Extensions (see MIME)
multithreaded programming, Introduction
mutating objects with shelve, Problem
mutex (mutual-exclusion) kernel objects, Solution
mutual-exclusion (mutex) kernel objects, Solution
mxODBC module, Discussion
MySQL database application
BLOBs, storing in, Problem
database engine, absence of cursor support, Discussion
JDBC, access via, Solution
server-side LOAD_FILE, Discussion
version differences, Discussion
MySQLdb module, Solution
binary strings, escaping of characters in, Discussion
version differences, Discussion
MyXML class, Discussion

N

named constants, Problem
named items, collecting, Problem
named-value formatting, Discussion
NameError exceptions, Discussion
naming conventions, conversion between, Problem
nested loops, Solution
nested scopes and currying, Discussion
nested sequences, finding items in, Problem
nested sequences, flattening, Problem
netsvc module, Discussion
network programming, Introduction, See Also
detecting inactive computers on a TCP/IP network, Module: PyHeartBeat—Detecting Inactive Computers, See Also
hostnames, finding your own and your IP address, Problem
HTML email, sending, Problem
IMAP inbox, polling and display of sender, subject, Module: Watching for New IMAP Mail Using a GUI
Internet, protocols and formats supported by Python, Introduction
IP addresses, converting, Problem
IP addresses, expression of network portion, Discussion
multipart MIME email, sending, Problem
multipart MIME email, unpacking, Problem
POP3 interactive mailbox inspector, Module: Interactive POP3 Mailbox Inspector
socket datagrams, passing messages with, Problem
passing large messages, Discussion
TCP
clients, writing, Problem
servers, writing, Problem
Web, getting documents from, Problem
networks, as sources of textual content, Sources of Text
new.classobj, Discussion
newInstance (java.lang.Class), Discussion
nonblocking read calls, Discussion
nonreversible state transition, Discussion
notebook user interfaces, Solution
NT and Posix, file locking on, Problem
Null Object design pattern, Problem, See Also
numbers, converting to rationals via Farey fractions, Problem, See Also
Numeric package, Module: Finding the Convex Hull of a Set of 2D Points
Numerical Python, Parsing
numSpaces, Discussion

O

object-oriented programming (see OOP)
objects
copying, Problem
testing if an object is string-like, Problem
unzipping simple list-like objects, Problem
ODBC (Open Database Connectivity), Introduction
onReconfigure, Discussion
OOP (object-oriented programming), Introduction, See Also
attributes, Introduction
behavior, Introduction
class objects, Introduction
class statement, Introduction
Classname.method(self, ...) syntax, Introduction
constructors, Introduction
delegation, Introduction
inheritance (see inheritance)
instance objects, Introduction
methods, Introduction
defining, Introduction
overriding (see overriding)
polymorphism, Introduction
properties, Discussion
self, Introduction
state, Introduction
Template-Method design pattern, Introduction
open, File Basics, Discussion
binary files, and, Discussion
mode arguments, File Basics
r+b argument, Discussion
w (text) and wb (binary) arguments, Discussion
w+b argument, Discussion
Open Database Connectivity (ODBC), Introduction
OpenKey, Discussion
Options objects, creating a class for, Discussion
options, managing, Problem, See Also
OptionsUser class, Discussion
or (logical or), Discussion
Oracle, access via JDBC, Solution
ord, Solution
ORDER BY (SQL), Problem
os module, Solution
os.fork, Discussion
os.listdir, Discussion
os.mkdirs, Discussion
os.path module, Discussion
os.path.join, Discussion
os.path.normpath, Discussion
os.path.split, Solution
os.path.walk, Solution
measuring disk usage, cross-platform method, Discussion
swapping file extensions, Solution
os.rename, Discussion
OSE package, Solution
Publish/Subscribe support, Solution
Request/Reply support, Solution
output streams, capturing from a Unix command, Problem
OutputDebugString, Discussion
overloading options, Discussion
overriding, Introduction
built-in methods, Problem
inheritance, Solution
methods of superclasses, Solution
slicing, Solution
O’Reilly’s Meerkat server, accessing via RPC, Solution

P

packing, Discussion
Paragraph class, Solution
paragraphs, defining, Discussion
parentheses ( )
tuples, and, Discussion
parse, Discussion
parsefile, Discussion
Parser class, Discussion
parsing, Basic Textual Operations, Parsing
command files, Problem
parsing packages, Parsing
strategies for, Parsing
strings into date/time objects portably, Module: Parsing a String into a Date/Time Object Portably, See Also
vs. lexing, Parsing
passwords, generating randomly, Problem
generating non-randomly, Problem
pass_ (poplib module), Module: Interactive POP3 Mailbox Inspector
pastiche.py, Discussion
path, Discussion
Python search path, dynamically changing, Problem
pathnames, treating as objects, Problem
paths
path to the interpreter, inclusion in a script, Discussion
processing of parts, Problem
proper coding in CGI scripts, Discussion
pattern matches, dispatching based on, Problem
PhotoImage objects, Solution
master argument, Discussion
pickle module, Introduction, Problem, See Also
uses for, Discussion
plain strings, String Basics
plus operator (+), Solution
PLY parser generator, PLY and SPARK
Pmw, Introduction
polling, Solution
polymorphism, Portability and Flexibility, Introduction
type checking and, Solution
polynomials, evaluating, Problem
pop, Discussion
POP3 interactive mailbox inspector, Module: Interactive POP3 Mailbox Inspector
popen2 module, Solution
poplib module, Module: Interactive POP3 Mailbox Inspector
portalocker.py module, Discussion
Posix and NT, file-locking on, Problem
PostgreSQL database application
BLOBs, storage of, Problem
predicate tests, evaluating across sequences, Problem
Print, Discussion
print statement, Basic Textual Operations, Solution
print_exc_plus, Discussion
priority queues, modeling, Problem
processes, Introduction
profile module, Module: Allowing the Python Profiler to Profile C Modules
profilewrap module, Module: Allowing the Python Profiler to Profile C Modules
profiling, Module: Allowing the Python Profiler to Profile C Modules
Python code with C modules, Module: Allowing the Python Profiler to Profile C Modules, See Also
ProgID string, Discussion
program introspection, Introspection
programming languages, Introduction
properties, Discussion
implementing, Problem
property, Solution
pseudotty functions, Introduction
psycopg module, Solution
publish.py, Discussion
Publish/Subscribe broadcasting, Problem
advantages, Discussion
distributed middleware architecture, using in, Problem, See Also
.py extension and WSH, Discussion
Py-DBAPI (Python DB Application Programming Interface), Introduction
Pyana, Discussion
PyArg_ParseTuple, Discussion
PyCFunction_New, Discussion
PyClass_New, Discussion
pyfort, Introduction
PyGTK toolkit, Introduction
PyHBClient.py, Module: PyHeartBeat—Detecting Inactive Computers
PyHBServer.py, Module: PyHeartBeat—Detecting Inactive Computers
PyHeartBeat, Module: PyHeartBeat—Detecting Inactive Computers, See Also
PyImport_LoadDynamicModule, Discussion
PyMethodDef statements, Discussion
PyMethod_New, Discussion
PyNumber_Float, Discussion
PyObject_GetIter, Discussion
for accessing a Python sequence sequentially, Solution
necessary conditions for use, Discussion
PyQt, Introduction
.pys extension and WSH, Discussion
PySequence_Fast, Problem, See Also
arguments, Discussion
for accessing a Python sequence sequentially, Solution
reference returned, Discussion
PySequence_Fast_GET_ITEM, Discussion
Python
application-specific languages, creating with, Using Python Itself as a Little Language
C language enum type, simulating, Problem
COM, ADSI instantiation using, Discussion
concurrent processing, and, Introduction
conditional (ternary) operator, idiom for, Discussion
connecting C routines to Python code, Parsing
data storage and retrieval facilities, Introduction
dictionary type, hash table used for, Searching and Sorting FAQ
distributed programming, and, Introduction, Introduction
Expat, direct access of, Solution
Fortran routines, connecting to, Parsing
Internet protocols, and, Introduction
Java libraries, and, Discussion
methods as attributes, Discussion
module-building tools, Introduction
new-style classes, Introduction, Discussion
OOP and non-OOP functionality, Introduction
performance, measuring compared to C, Discussion
PLY and SPARK parser generators, PLY and SPARK
raw-string syntax, Discussion
running profiler on code that includes C modules, Module: Allowing the Python Profiler to Profile C Modules, See Also
search path
dynamically changing, Problem
finding a file on, Problem
sorting algorithms used in, Searching and Sorting FAQ, Searching and Sorting FAQ
source code, colorizing using the tokenizer, Problem
standard library, Introduction
strings, What Is Text?
text and binary file handling, Discussion
toolkits, Introduction
variables, definition, Solution
XML, and, Introduction
XML-RPC, and, Introduction
Python and Tkinter Programming, Discussion
Python code, replacing with code-execution results, Problem, See Also
Python DB Application Programming Interface (see Py-DBAPI)
Python interpreter
-u commandline option, Discussion
Python objects, serialization and reconstruction, Problem
Python programming language
Perl, compared to, Introduction
pythoncom.PumpWaitingMessages, Discussion
PythonWin toolkit, Introduction
PyXML package, Introduction
Py_BuildValue, Discussion, Discussion
py_compile module, Discussion
Py_DebugTrap, Discussion
Py_DECREF, Discussion
memory problems and, Discussion
Py_INCREF, Discussion
memory problems and, Discussion

Q

qsort, Searching and Sorting FAQ, Discussion
Qt, Introduction
user feedback during data entry, Problem
query results
accessing using dtuple, Problem
formatting for display, Problem
QueryPerformanceCounter, Introduction
QueryServiceStatus, Discussion
QueryValueEx, Discussion
Queue module, Introduction
Queue objects, Discussion
quicksort algorithm, Searching and Sorting FAQ
in three lines, Problem
quit (poplib module), Module: Interactive POP3 Mailbox Inspector
Quixote, Introduction
quotes, String Basics

R

radiobutton entries, Discussion
random access of I/O, files with fixed-length records, Problem
random module, Solution
random number generation, emulating a dice roll, Discussion
random selection of list elements, Problem
randrange, Discussion
ranges
defined by float, spanning, Solution
raw strings, String Basics
re module, String Basics, Discussion, See Also
(see also regular expressions)
single-pass multiple-string substitution, using for, Discussion
sub, Solution
re.split, Discussion
re.sub, Solution, Solution
read
nonblocking calls, Discussion
portions of files, Discussion
_read_ready, Discussion
readline, File Basics
readlines, File Basics
counting the lines in a file, Solution
ReadWriteLock class, Discussion
reconfigure, Discussion
recvfrom, Discussion
reduce, Discussion
dice roll, for emulation of, Discussion
generalization to lazy evaluation, Solution
reference counts
debugging, Problem
reference cycles, avoiding, Discussion
register_function, Discussion
register_instance, Discussion
registry (see under Windows)
RegistryResolve, Discussion
regular expressions, String Basics, See Also
(see also re module)
function calls based on matches, Problem
splitting, Solution
reindent, Solution
relational databases, Introduction
release_read, Discussion
reload, Discussion
remote logins using telnetlib, Problem, See Also
remote procedure calls (see RPCs)
remote_host string, Discussion
remote_port variable, Discussion
replace, Solution
replacement, Solution
replcode.py module, Discussion
reportLoggedInstances, Solution
Request/Reply, using in a distributed middleware architecture, Problem
RestartService, Discussion
retrbinary, Discussion
retrlines, Discussion
reverse, Solution
reverse sorting, Discussion
RFC 2822, Discussion
rfc822 module, Module: Watching for New IMAP Mail Using a GUI
RGB, using to create color scales, Problem
right angle bracket (>), Discussion
ring buffers, Discussion
implementing, Problem
rjust (string object method), Solution
rolling dice, Problem
Roman numerals and integers, conversion between, Module: Roman Numerals, See Also
rows, transforming into columns, Discussion
RPCs (remote procedure calls), Introduction
CORBA, contrasted with, Introduction
rstrip (string object method), Solution
runPanel, Discussion

S

samplesort, Searching and Sorting FAQ
SAX, Introduction
ContentHandler (see ContentHandler)
using to check well-formedness, Solution
scalar elements, determining, Problem
scanner, Portability and Flexibility
Schwartzian transform, Discussion
ScientificPython package, Lexing
searching, Introduction, See Also
binary search algorithm, Problem
of unhashable items, Discussion
seek, Discussion
select statement, Python equivalent, Problem
self, Introduction
self.lock.acquire, Discussion
semicolons (;), Discussion
separator entries, Discussion
sequences
finding items in deeply nested sequences, Problem
looping on, Problem
matching sets, Solution, See Also
membership tests on, Problem
predicate testing, evaluation, Problem
removing duplicates from, Problem
while maintaining sequence order, Problem, Discussion
unbounded iterators, filtering output, Problem
serializing data, Introduction
Server class, Discussion
server.py, Solution, Discussion
ServerProxy class, Discussion
servers
TCP servers, writing, Problem
serve_forever, Discussion
servicemanager module, Discussion
service_running, Discussion
servlets
Jython, running with, Problem
Set class, Discussion
set class, implementing, Problem
_ _setattr_ _, Solution
setdefault, Solution, Discussion
setmode (msvcrt module), Discussion
setPaletteBackgroundColor, Discussion
sets
matching, Solution, See Also
modeling, Problem
_ _setstate_ _, Discussion
setup.py, Solution
SetValueEx, Discussion
setvbuf, Discussion
sgmllib module, Solution
shallow copies, Discussion
shallow parsers, Module: XML Lexing (Shallow Parsing)
shebang line, Discussion
shelve module, Problem
show_paragraphs, Discussion
shutil.copy, Discussion
SimpleXMLRPCServer class, Discussion
single inheritance, Introduction
single quotes, String Basics
Singleton design pattern, Introduction, Problem, See Also
alternatives to, Discussion
avoiding, with Borg idiom, Problem, Discussion
drawbacks to, Discussion
SIP, Introduction
sitecustomize.py, Discussion
imported modules, automating end-of-line conversions on, Solution
slicing, Solution
_ _slots_ _, Discussion
smtplib module, Solution
SOAP (Simple Object Access Protocol), Introduction
writing web services that support, Problem, See Also
socket datagrams, passing messages with, Problem
passing large messages, Discussion
socket module, Introduction, Discussion
big-endian byte order, specification by, Discussion
finding your own hostname and IP address, Solution
IP addresses, conversion, dotted quad to long integers, Solution
socket.inet_aton and socket.inet_ntoa, Discussion
sockets
connecting to on a remote machine, Problem
SocketServer module, Discussion
sort, Discussion
passing a comparison function to, Solution
sorted lists, maintaining, Solution
sorting, Introduction, See Also
algorithms used in Python, Searching and Sorting FAQ, Searching and Sorting FAQ
by item or attribute, Problem
by one field, then another, Problem
of dictionaries, Problem, See Also
guaranteeing sort stability, Problem
of object lists, using object attributes as criteria, Problem
of objects, using ORDER BY syntax, Problem
quicksort in three lines, Problem
reverse order, listing in, Searching and Sorting FAQ
reverse sorting, Discussion
stable sorts, Discussion
Soundex algorithm, Solution
source code in Python, colorizing, Problem
SO_REUSEADDR, Discussion
space (' ') joiner, Solution
spaces
conversion to or from tabs, Solution
trimming from strings, Problem
SPARK parser generator, PLY and SPARK
introspection, use by, Introspection
split, Solution, Discussion, Discussion, Lexing
splitlines, Discussion, Discussion
split_at, Discussion
split_by, Discussion
SQL
implementations for relational databases, Introduction
SQL DDL, creating from an Access database, Module: jet2sql—Creating a SQL DDL from an Access Database
SQL ORDER BY clause, Problem
stable sorts, Discussion
standard library, Introduction
standard output
Unicode characters, printing to, Problem
startElement, Discussion
StartElementHandler, Discussion
StartService, Discussion
stat (poplib module), Module: Interactive POP3 Mailbox Inspector
state, Introduction
static methods
class methods, and, Discussion
implementing, Problem
staticmethod, Solution
staticmethod type, Discussion
staticmethod, Solution
staticmethod type, Discussion
Stevens, W. Richard, Introduction
StopService, Discussion
storbinary, Discussion
storing per-thread information, Problem
storlines, Discussion
_ _str_ _, Solution
string fields, reverse sorting with DSU, Discussion
string module, String Basics
string object methods, String Basics
string substitution in a file, Solution
string-formatting operator (%), String Basics, Solution, Discussion
named-values variant, Solution
StringIO module, Portability and Flexibility
strings, What Is Text?, String Basics, String Basics
accessing substrings, Problem
aligning, Problem
case, controlling, Problem
changing the indentation of a multiline string, Problem
combining, Problem
concatenation, String Basics
converting between different naming conventions, Problem
converting between tabs and spaces, Problem
encoding and decoding, Discussion
evaluating code within, Problem
filtering for a character set, Problem
immutability, String Basics
looping on characters, String Basics, Solution
matching character sets, Problem, See Also
multiple string substitutions, Problem
processing one character at a time, Problem
quotes, and, String Basics
raw strings, String Basics
reversing by words or characters, Problem
sequences, compared to, String Basics
single characters, access of, String Basics
testing for integer representation, Problem
testing if an object is string-like, Problem
trimming space from the ends of, Problem
Unicode strings, String Basics
Unicode, converting to, Problem
writing large strings to a file, Solution
strip (string object method), Solution
strptime, Module: Parsing a String into a Date/Time Object Portably
struct module, Solution
struct.unpack, Solution
structured data, processing of selected pairs, Problem
stub_compare_func, Discussion
sub (re module), Solution, Solution, Solution, Solution
subclassing
currying, as an alternative to, Discussion
subscribe.py, Discussion
super, Solution
Super class, Discussion
super keyword in Java, Python equivalent to, Problem
superclasses
implementations of methods, calling, Problem
_ _init_ _, calling, Problem
SWIG, Parsing
C and C++, Python extension module tools for, Introduction
SWIG-generated modules in a multithreaded environment, Problem
switch statement, Python equivalent, Problem
Sybase, access via JDBC, Solution
sys.excepthook, Discussion
sys.exc_info, Discussion
sys.modules
addition of newly generated modules, Discussion
sys.path.append, Discussion
sys._getframe, Discussion, Solution
simulating in pre-2.1 Python versions, Discussion
system administration, Introduction, See Also
Apache servers, hits on per IP address, calculating, Problem
client cache hits, calculating, Problem
commands, running repeatedly, Problem
passwords, generating randomly, Problem
generating non-randomly, Problem
polling, Solution
Unix network interface, status checking, Problem
Windows (see under Windows)

T

tabs, conversion to or from spaces, Problem, Solution
take wrapper, Discussion
target, Discussion
taxonomy, Introduction
TCP clients, writing, Problem
TCP servers, writing, Problem
TeeFilelikeWrapper class, Discussion
Telnet protocol, Problem
security considerations, Discussion
telnetlib module, Problem, See Also
Template-Method design pattern, Introduction
templating, Discussion
YAPTU (Yet Another Python Templating Utility), Module: Yet Another Python Templating Utility (YAPTU), See Also
ternary operator (C language), simulating in Python, Problem, Discussion, Discussion
testing and debugging (see debugging and testing)
TestThread class, Discussion
text, What Is Text?, See Also, See Also
(see also strings)
case conversion, Problem
character encodings, What Is Text?, Discussion
file size and memory, Sources of Text
file-based transformations, Sources of Text
format, transformation of, Basic Textual Operations
international standard encodings, String Basics
operations, Basic Textual Operations
parsing, Basic Textual Operations
reindenting blocks of, Problem
searchin for and replacing in a file, Problem
sockets, retrieval from, Sources of Text
sources, Sources of Text
Unicode, encoding as, Discussion
text and binary file handling in Python, Discussion
text files
file reading functions, Solution
line terminators, different OS’s, Discussion
reading by paragraphs, Problem
reading operations, line by line, Discussion
text mode and binary mode, File Basics
Text widget, Introduction
Thread class, Introduction
thread module, Introduction, Solution
threading module, Introduction
synchronization constructs, Introduction
threading.Condition object, Discussion
threading.Event objects, Discussion
threads, Introduction, See Also
allocation of storage for, Problem
authentication as another principal on Windows, Problem
combining with asynchronous I/O and Tkinter, Problem
concurrent processing, and, Introduction
GIL (Global Interpreter Lock), Introduction
locking and unlocking, Introduction
multithreaded programming, Introduction
multithreaded read access with write locks, Problem
Queue module, and, Introduction
running time-consuming functions on separate threads, Problem
synchronization of methods in an object, Problem
terminating, Problem
time module, Module: Parsing a String into a Date/Time Object Portably
time.clock, Introduction
time.sleep, Solution
time.time, Introduction
timeo, Discussion
timeoutsocket module, Discussion
Timestamper class, Discussion
title (string function), Solution
Tix, Introduction
Tkinter, Introduction
combining with asynchronous I/O and threads, Problem
creating dialog boxes, Problem
creating menus, Problem
embedding inline GIFs, Problem
getting around limitations, Solution
IntVar, Discussion
listboxes, supporting multiple values per row, Problem
PhotoImage objects, Solution
tkSimpleDialog module, Discussion
token module, Discussion
tokenize module, Lexing, Discussion
tokenizer module
Python source, colorizing with, Problem
tokens, Module: XML Lexing (Shallow Parsing), Lexing
toupper (string object methods), String Basics
traceback module, Solution, Discussion
wrapping tracebacks in HTML, Solution
tracebacks, Solution
acquiring more information from, Problem, See Also
traceback objects, Discussion
tracing, Discussion
tracing across platforms, Problem, See Also
tracking_classes dictionary, Discussion
translate, Discussion, Discussion
triple quotes, String Basics
try/except for validation problems, Solution
try/finally, File Basics
constructs (Windows registry recipe), Discussion
tuple, Discussion
TupleDescriptor class, Discussion
tuples
for representing RGB colors, Problem
tuple packing and unpacking, Solution
two-dimensional arrays, transposition, Problem
type, Solution
type checking and polymorphism, Solution
typemap, Solution

U

u'<?xml’ (XML declaration), Discussion
UDP (User Datagram Protocol)
passing messages with, Solution
reliability of, Discussion
using to detect inactive computers on a network, Module: PyHeartBeat—Detecting Inactive Computers
uiToolkit, Introduction
unbounded iterators, wrapping to restrict output, Problem
undefined variables, testing for, Problem, See Also
underscore (_), Module: Interactive POP3 Mailbox Inspector
unichr, Solution
Unicode, Discussion
characters, printing to standard output, Problem
plain strings, converting to, Problem
Unicode strings, What Is Text?, String Basics
XML, autodetecting encoding in, Problem, See Also
XML, default encoding in, Discussion
unique, Discussion
Unix
algorithms, measuring efficiency, Introduction
commands, capturing output and error streams from, Problem
crossplatform debugging and, Problem
debugging dynamically loaded C extensions, Problem
measuring disk usage for, Discussion
network interface, checking status, Problem
UNIX Network Programming, Volume 1: Networking APIs - Sockets and XTI, Second Edition, Introduction
unpack (Perl) contrasted with struct.unpack (Python), Discussion
unpacking, Discussion
update, Discussion
upper (string object method), Solution
uppercase, conversion to lowercase, Problem
upperOpen, Solution
urllib, Solution
urllib and urllib2 modules, Introduction
urlopen, Solution
user feedback during data entry, giving via Qt, Problem
user interfaces, Introduction, See Also
avoiding lambda in writing callback functions, Problem
building GTK GUIs interactively, Module: Building GTK GUIs Interactively, See Also
building toolkit-independent GUIs, Problem
CLIs, Introduction
creating color scales, Problem
creating dialog boxes with Tkinter, Problem
creating menus with Tkinter, Problem
embedding GIFs inline using Tkinter, Problem
giving the user feedback during data entry with Qt, Problem
GUIs, Introduction
Publish/Subscribe broadcasting to loosen coupling between GUIs and business logic systems, Problem
supporting multiple values per row in a Tkinter listbox, Problem
Tkinter, Introduction
wxPython Notebook with panels, Problem
using list comprehensions instead of map and filter, Problem
UTF-16 encoding, Discussion
UTF-8, Discussion, Discussion

V

validation, Discussion
valid_tags list, Discussion
values
converting to characters, Problem
getting from dictionaries, Problem
mapping to dictionary keys, Problem
swapping, Problem
variables
local vs. global, Discussion
testing if a variable is defined, Problem, See Also
vdebug variable, Discussion
versioned backups, Module: Versioned Backups, See Also
VersionFile, Discussion
versioning filenames, Problem

W

waitables kernel objects, Discussion
walk (email module), Solution
walking directory trees, Problem
walktokens, Module: XML Lexing (Shallow Parsing)
weak references, Solution, Discussion, Discussion
WeakMethod, Discussion
weakmethod.py file, Solution
weakref module, Solution
web programming, Introduction, See Also
accessing Netscape cookie information, Problem, See Also
CGI scripts, writing, Problem
dynamic generation of web pages with CGI scripts, Solution
fetching latitude/longitude data from the Web, Module: Fetching Latitude/Longitude Data from the Web, See Also
finding an Internet Explorer cookie, Solution
getting documents from the web, Problem
handling URLs within a CGI script, Problem
resuming the HTTP download of a file, Problem
running a servlet with Jython, Problem
stripping dangerous tags and Javascript from HTML, Problem
using a simple dictionary for CGI parameters, Problem
web services
XML-RPC and SOAP, Problem, See Also
client, Solution
server, Solution
webbrowser module, Discussion
WebWare, Introduction
wget.py, Introduction
whatis, Discussion
What’s new with Python 2.x list, Introduction
whitespace, trimming from strings, Problem
Widget Construction Kit, Introduction
widgets, Introduction
creating, Solution
win32all extensions, Discussion
win32all package, Solution, Introduction
win32all extensions, Discussion
COM access using, Discussion
win32com.client.Dispatch, Discussion
win32com.client.gencache.EnsureModule, Module: jet2sql—Creating a SQL DDL from an Access Database
win32serviceutil module, Solution
Windows
algorithms, measuring efficiency, Introduction
application message loop (message pump), Solution
binary data, sending to standard output, Problem
CreateMutex, Discussion
crossplatform debugging, and, Problem
global IDs, and, Discussion
instances of a script, insuring only one runs at a time, Problem
measuring disk usage for, Discussion
MsgWaitForMultipleObjects, Problem
msvcrt module, Discussion
NT and Posix, file locking, Problem
NT and servicemanager module, Discussion
registry
DNS name server addresses, accessing through, Problem
logon tasks, inspecting and modifying, Discussion
NT/2000/XP, working with, Solution
system administration, Introduction, Problem, See Also
current user(s), getting information about on NT/2000, Problem
displaying decoded hotkeys for shortcuts, Problem
environment variables, setting on NT/2000/XP, Problem
impersonating principals, Problem
logon tasks, checking and modifying, Problem
passwords, changing on NT using ADSI, Problem
Windows service name, getting from the long name, Problem
WSH, using via Python, Problem
text files, line terminators for, Discussion
try/finally constructs, Discussion
Windows services, Discussion
manipulating on local machines, Problem
Windows Scripting Host (WSH), Problem
_winreg module, Introduction, Discussion
words, looking up by sound similarity, Problem
wrapper classes, Solution
wrapper functions
for modules in other languages, Introduction
wrappers, Introduction
WrapPy
C and C++, Python extension module tools for, Introduction
write, Basic Textual Operations, File Basics, Discussion
_write_data, Discussion
writelines, Solution
WSH (Windows Scripting Host), Problem
wxNotebook widget, Solution
wxPython Notebook with panels, Problem
wxPython toolkit, Introduction

X

Xalan, Discussion
XML, Introduction, See Also
comparing XML documents, Problem
converting a list of equal-length lists into, Module: Converting a List of Equal-Length Lists into XML, See Also
counting tags in a document, Problem
CSV files, conversion to, Module: Converting a List of Equal-Length Lists into XML
declaration, Discussion
editing tools, differences, Discussion
lexing, Module: XML Lexing (Shallow Parsing), See Also
normalizing XML documents, Problem
parsers, tasks of, Module: XML Lexing (Shallow Parsing)
parsing, Introduction
Python, and, Introduction
Python, transforming a document using, Problem
reading vs. writing, Introduction
shallow parsing, Module: XML Lexing (Shallow Parsing), See Also
tabular data, conversion to, Module: Converting a List of Equal-Length Lists into XML
text, automatic conversion to markup, Problem, See Also
text, extracting from XML documents, Problem
Unicode encoding, autodetecting, Problem, See Also
well-formed documents, Discussion
checking, Problem
xml.parsers.expat, parsing with, Problem
XSLT stylesheet loading, controlling, Problem, See Also
XSLT, transforming documents using, Problem
COM interface, via, Solution
Xalan, via, Solution
XML-RPC, Introduction, Introduction
creating a server, Problem, See Also
functions, registering, Discussion
library for Python, Introduction
Medusa, using with, Problem, See Also
method calls, making, Solution
restricted characters for Python identifiers, and, Discussion
serving requests, Problem, See Also
specification, Discussion
writing web services that support, Problem, See Also
xml.xslt package, Solution
XMLGenerator class, Solution
xmlrpclib module
client, XML-RPC based server, Solution
xmlrpclib package, Solution
writing XML-RPC servers, Solution
xrange, Solution
xreadlines, File Basics, Discussion
Apache log files, reading with, Discussion
counting the lines in a file, Solution
XSLT (Extensible Stylesheet Language Transformations), Introduction, Discussion, See Also
(see also XML)
processors, Discussion

Y

yacc, PLY and SPARK
YAPTU (Yet Another Python Templating Utility), Module: Yet Another Python Templating Utility (YAPTU), See Also
yield keyword, Discussion

Z

zip, Solution
generalization to lazy evaluation, Solution
looping through multiple lists, Discussion
reversal of, Discussion
ZIP files, reading data from, Problem
ZipFile, Solution
zipfile module, Solution
ZODB (Z-Object Database), Introduction
Zope, Introduction
ExtensionClass class, Solution
..................Content has been hidden....................

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