1 Python 2.3 Quick Reference
4 25 Jan 2003 upgraded by Raymond Hettinger for Python 2.3
5 16 May 2001 upgraded by Richard Gruet and Simon Brunning for Python 2.0
6 2000/07/18 upgraded by Richard Gruet, rgruet@intraware.com for Python 1.5.2
8 1995/10/30, by Chris Hoffmann, choffman@vicorp.com
11 Python Bestiary, Author: Ken Manheimer, ken.manheimer@nist.gov
12 Python manuals, Authors: Guido van Rossum and Fred Drake
13 What's new in Python 2.0, Authors: A.M. Kuchling and Moshe Zadka
14 python-mode.el, Author: Tim Peters, tim_one@email.msn.com
16 and the readers of comp.lang.python
18 Python's nest: http://www.python.org Developement: http://
19 python.sourceforge.net/ ActivePython : http://www.ActiveState.com/ASPN/
21 newsgroup: comp.lang.python Help desk: help@python.org
22 Resources: http://starship.python.net/
23 http://www.vex.net/parnassus/
24 http://aspn.activestate.com/ASPN/Cookbook/Python
25 FAQ: http://www.python.org/cgi-bin/faqw.py
26 Full documentation: http://www.python.org/doc/
27 Excellent reference books:
28 Python Essential Reference by David Beazley (New Riders)
29 Python Pocket Reference by Mark Lutz (O'Reilly)
34 python [-diOStuUvxX?] [-c command | script | - ] [args]
38 -c cmd program passed in as string (terminates option list)
39 -d Outputs parser debugging information (also PYTHONDEBUG=x)
40 -E ignore environment variables (such as PYTHONPATH)
41 -h print this help message and exit
42 -i Inspect interactively after running script (also PYTHONINSPECT=x) and
43 force prompts, even if stdin appears not to be a terminal
44 -O optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)
45 -OO remove doc-strings in addition to the -O optimizations
46 -Q arg division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
47 -S Don't perform 'import site' on initialization
48 -t Issue warnings about inconsistent tab usage (-tt: issue errors)
49 -u Unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x).
50 -v Verbose (trace import statements) (also PYTHONVERBOSE=x)
51 -W arg : warning control (arg is action:message:category:module:lineno)
52 -x Skip first line of source, allowing use of non-unix Forms of #!cmd
54 -c Specify the command to execute (see next section). This terminates the
55 command option list (following options are passed as arguments to the command).
56 the name of a python file (.py) to execute read from stdin.
57 script Anything afterward is passed as options to python script or command,
58 not interpreted as an option to interpreter itself.
59 args passed to script or command (in sys.argv[1:])
60 If no script or command, Python enters interactive mode.
62 * Available IDEs in std distrib: IDLE (tkinter based, portable), Pythonwin
71 PYTHONHOME Alternate prefix directory (or prefix;exec_prefix). The
72 default module search path uses prefix/lib
73 Augments the default search path for module files. The format
74 is the same as the shell's $PATH: one or more directory
75 pathnames separated by ':' or ';' without spaces around
77 PYTHONPATH On Windows first search for Registry key HKEY_LOCAL_MACHINE\
78 Software\Python\PythonCore\x.y\PythonPath (default value). You
79 may also define a key named after your application with a
80 default string value giving the root directory path of your
82 If this is the name of a readable file, the Python commands in
83 PYTHONSTARTUP that file are executed before the first prompt is displayed in
84 interactive mode (no default).
85 PYTHONDEBUG If non-empty, same as -d option
86 PYTHONINSPECT If non-empty, same as -i option
87 PYTHONSUPPRESS If non-empty, same as -s option
88 PYTHONUNBUFFERED If non-empty, same as -u option
89 PYTHONVERBOSE If non-empty, same as -v option
90 PYTHONCASEOK If non-empty, ignore case in file/module names (imports)
95 Notable lexical entities
100 assert elif from lambda return
101 break else global not try
102 class except if or while
103 continue exec import pass yield
106 * (list of keywords in std module: keyword)
107 * Illegitimate Tokens (only valid in strings): @ $ ?
108 * A statement must all be on a single line. To break a statement over
109 multiple lines use "\", as with the C preprocessor.
110 Exception: can always break when inside any (), [], or {} pair, or in
111 triple-quoted strings.
112 * More than one statement can appear on a line if they are separated with
114 * Comments start with "#" and continue to end of line.
118 (letter | "_") (letter | digit | "_")*
120 * Python identifiers keywords, attributes, etc. are case-sensitive.
121 * Special forms: _ident (not imported by 'from module import *'); __ident__
122 (system defined name);
123 __ident (class-private name mangling)
127 "a string enclosed by double quotes"
128 'another string delimited by single quotes and with a " inside'
129 '''a string containing embedded newlines and quote (') marks, can be
130 delimited with triple quotes.'''
131 """ may also use 3- double quotes as delimiters """
132 u'a unicode string' U"Another unicode string"
133 r'a raw string where \ are kept (literalized): handy for regular
134 expressions and windows paths!'
135 R"another raw string" -- raw strings cannot end with a \
136 ur'a unicode raw string' UR"another raw unicode"
138 Use \ at end of line to continue a string on next line.
139 adjacent strings are concatened, e.g. 'Monty' ' Python' is the same as
141 u'hello' + ' world' --> u'hello world' (coerced to unicode)
143 String Literal Escapes
145 \newline Ignored (escape newline)
146 \\ Backslash (\) \e Escape (ESC) \v Vertical Tab (VT)
147 \' Single quote (') \f Formfeed (FF) \OOO char with octal value OOO
148 \" Double quote (") \n Linefeed (LF)
149 \a Bell (BEL) \r Carriage Return (CR) \xHH char with hex value HH
150 \b Backspace (BS) \t Horizontal Tab (TAB)
151 \uHHHH unicode char with hex value HHHH, can only be used in unicode string
152 \UHHHHHHHH unicode char with hex value HHHHHHHH, can only be used in unicode string
153 \AnyOtherChar is left as-is
155 * NUL byte (\000) is NOT an end-of-string marker; NULs may be embedded in
157 * Strings (and tuples) are immutable: they cannot be modified.
161 Decimal integer: 1234, 1234567890546378940L (or l)
162 Octal integer: 0177, 0177777777777777777 (begin with a 0)
163 Hex integer: 0xFF, 0XFFFFffffFFFFFFFFFF (begin with 0x or 0X)
164 Long integer (unlimited precision): 1234567890123456
165 Float (double precision): 3.14e-10, .001, 10., 1E3
166 Complex: 1J, 2+3J, 4+5j (ends with J or j, + separates (float) real and
171 * String of length 0, 1, 2 (see above)
172 '', '1', "12", 'hello\n'
173 * Tuple of length 0, 1, 2, etc:
174 () (1,) (1,2) # parentheses are optional if len > 0
175 * List of length 0, 1, 2, etc:
178 Indexing is 0-based. Negative indices (usually) mean count backwards from end
181 Sequence slicing [starting-at-index : but-less-than-index]. Start defaults to
182 '0'; End defaults to 'sequence-length'.
184 a = (0,1,2,3,4,5,6,7)
188 a[1:] ==> (1, 2, 3, 4, 5, 6, 7)
190 a[:] ==> (0,1,2,3,4,5,6,7) # makes a copy of the sequence.
192 Dictionaries (Mappings)
194 {} # Zero length empty dictionary
195 {1 : 'first'} # Dictionary with one (key, value) pair
196 {1 : 'first', 'next': 'second'}
197 dict([('one',1),('two',2)]) # Construct a dict from an item list
198 dict('one'=1, 'two'=2) # Construct a dict using keyword args
199 dict.fromkeys(['one', 'keys']) # Construct a dict from a sequence
201 Operators and their evaluation order
203 Operators and their evaluation order
204 Highest Operator Comment
205 (...) [...] {...} `...` Tuple, list & dict. creation; string
207 s[i] s[i:j] s.attr f(...) indexing & slicing; attributes, fct
209 +x, -x, ~x Unary operators
211 x*y x/y x%y x//y mult, division, modulo, floor division
212 x+y x-y addition, subtraction
213 x<<y x>>y Bit shifting
215 x^y Bitwise exclusive or
217 x<y x<=y x>y x>=y x==y x!=y Comparison,
219 x is y x is not y membership
221 not x boolean negation
224 Lowest lambda args: expr anonymous function
226 Alternate names are defined in module operator (e.g. __add__ and add for +)
227 Most operators are overridable.
229 Many binary operators also support augmented assignment:
230 x += 1 # Same as x = x + 1
233 Basic Types and Their Operations
235 Comparisons (defined between *any* types)
238 Comparison Meaning Notes
239 < strictly less than (1)
240 <= less than or equal to
241 > strictly greater than
242 >= greater than or equal to
244 != or <> not equal to
245 is object identity (2)
246 is not negated object identity (2)
249 Comparison behavior can be overridden for a given class by defining special
251 The above comparisons return True or False which are of type bool
252 (a subclass of int) and behave exactly as 1 or 0 except for their type and
253 that they print as True or False instead of 1 or 0.
254 (1) X < Y < Z < W has expected meaning, unlike C
255 (2) Compare object identities (i.e. id(object)), not object values.
257 Boolean values and operators
259 Boolean values and operators
260 Value or Operator Returns Notes
261 None, numeric zeros, empty sequences and False
263 all other values True
264 not x True if x is False, else
266 x or y if x is False then y, else (1)
268 x and y if x is False then x, else (1)
272 Truth testing behavior can be overridden for a given class by defining
273 special method __nonzero__.
274 (1) Evaluate second arg only if necessary to determine outcome.
278 None is used as default return value on functions. Built-in single object
280 Input that evaluates to None does not print when running Python
285 Floats, integers and long integers.
287 Floats are implemented with C doubles.
288 Integers are implemented with C longs.
289 Long integers have unlimited size (only limit is system resources)
291 Operators on all numeric types
293 Operators on all numeric types
295 abs(x) the absolute value of x
296 int(x) x converted to integer
297 long(x) x converted to long integer
298 float(x) x converted to floating point
301 x + y the sum of x and y
302 x - y difference of x and y
303 x * y product of x and y
304 x / y quotient of x and y
305 x % y remainder of x / y
306 divmod(x, y) the tuple (x/y, x%y)
307 x ** y x to the power y (the same as pow(x, y))
309 Bit operators on integers and long integers
313 ~x the bits of x inverted
314 x ^ y bitwise exclusive or of x and y
315 x & y bitwise and of x and y
316 x | y bitwise or of x and y
317 x << n x shifted left by n bits
318 x >> n x shifted right by n bits
322 * represented as a pair of machine-level double precision floating point
324 * The real and imaginary value of a complex number z can be retrieved through
325 the attributes z.real and z.imag.
330 raised on application of arithmetic operation to non-number
332 numeric bounds exceeded
334 raised when zero second argument of div or modulo op
336 raised when a floating point operation fails
338 Operations on all sequence types (lists, tuples, strings)
340 Operations on all sequence types
341 Operation Result Notes
342 x in s True if an item of s is equal to x, else False
343 x not in s False if an item of s is equal to x, else True
344 for x in s: loops over the sequence
345 s + t the concatenation of s and t
346 s * n, n*s n copies of s concatenated
347 s[i] i'th item of s, origin 0 (1)
348 s[i:j] slice of s from i (included) to j (excluded) (1), (2)
350 min(s) smallest item of s
351 max(s) largest item of (s)
352 iter(s) returns an iterator over s. iterators define __iter__ and next()
355 (1) if i or j is negative, the index is relative to the end of the string,
356 ie len(s)+ i or len(s)+j is
357 substituted. But note that -0 is still 0.
358 (2) The slice of s from i to j is defined as the sequence of items with
359 index k such that i <= k < j.
360 If i or j is greater than len(s), use len(s). If i is omitted, use
361 len(s). If i is greater than or
362 equal to j, the slice is empty.
364 Operations on mutable (=modifiable) sequences (lists)
366 Operations on mutable sequences
367 Operation Result Notes
368 s[i] =x item i of s is replaced by x
369 s[i:j] = t slice of s from i to j is replaced by t
370 del s[i:j] same as s[i:j] = []
371 s.append(x) same as s[len(s) : len(s)] = [x]
372 s.count(x) return number of i's for which s[i] == x
373 s.extend(x) same as s[len(s):len(s)]= x
374 s.index(x) return smallest i such that s[i] == x (1)
375 s.insert(i, x) same as s[i:i] = [x] if i >= 0
376 s.pop([i]) same as x = s[i]; del s[i]; return x (4)
377 s.remove(x) same as del s[s.index(x)] (1)
378 s.reverse() reverse the items of s in place (3)
379 s.sort([cmpFct]) sort the items of s in place (2), (3)
382 (1) raise a ValueError exception when x is not found in s (i.e. out of
384 (2) The sort() method takes an optional argument specifying a comparison
385 fct of 2 arguments (list items) which should
386 return -1, 0, or 1 depending on whether the 1st argument is
387 considered smaller than, equal to, or larger than the 2nd
388 argument. Note that this slows the sorting process down considerably.
389 (3) The sort() and reverse() methods modify the list in place for economy
390 of space when sorting or reversing a large list.
391 They don't return the sorted or reversed list to remind you of this
393 (4) [New 1.5.2] The optional argument i defaults to -1, so that by default the last
394 item is removed and returned.
398 Operations on mappings (dictionaries)
400 Operations on mappings
401 Operation Result Notes
402 len(d) the number of items in d
403 d[k] the item of d with key k (1)
404 d[k] = x set d[k] to x
405 del d[k] remove d[k] from d (1)
406 d.clear() remove all items from d
407 d.copy() a shallow copy of d
408 d.get(k,defaultval) the item of d with key k (4)
409 d.has_key(k) True if d has key k, else False
410 d.items() a copy of d's list of (key, item) pairs (2)
411 d.iteritems() an iterator over (key, value) pairs (7)
412 d.iterkeys() an iterator over the keys of d (7)
413 d.itervalues() an iterator over the values of d (7)
414 d.keys() a copy of d's list of keys (2)
415 d1.update(d2) for k, v in d2.items(): d1[k] = v (3)
416 d.values() a copy of d's list of values (2)
417 d.pop(k) remove d[k] and return its value
418 d.popitem() remove and return an arbitrary (6)
420 d.setdefault(k,defaultval) the item of d with key k (5)
423 TypeError is raised if key is not acceptable
424 (1) KeyError is raised if key k is not in the map
425 (2) Keys and values are listed in random order
426 (3) d2 must be of the same type as d1
427 (4) Never raises an exception if k is not in the map, instead it returns
429 defaultVal is optional, when not provided and k is not in the map,
431 (5) Never raises an exception if k is not in the map, instead it returns
432 defaultVal, and adds k to map with value defaultVal. defaultVal is
433 optional. When not provided and k is not in the map, None is returned and
435 (6) Raises a KeyError if the dictionary is emtpy.
436 (7) While iterating over a dictionary, the values may be updated but
437 the keys cannot be changed.
439 Operations on strings
441 Note that these string methods largely (but not completely) supersede the
442 functions available in the string module.
445 Operations on strings
446 Operation Result Notes
447 s.capitalize() return a copy of s with only its first character
449 s.center(width) return a copy of s centered in a string of length width (1)
451 s.count(sub[ return the number of occurrences of substring sub in (2)
452 ,start[,end]]) string s.
453 s.decode(([ return a decoded version of s. (3)
456 s.encode([ return an encoded version of s. Default encoding is the
457 encoding current default string encoding. (3)
459 s.endswith(suffix return true if s ends with the specified suffix, (2)
460 [,start[,end]]) otherwise return False.
461 s.expandtabs([ return a copy of s where all tab characters are (4)
462 tabsize]) expanded using spaces.
463 s.find(sub[,start return the lowest index in s where substring sub is (2)
464 [,end]]) found. Return -1 if sub is not found.
465 s.index(sub[ like find(), but raise ValueError when the substring is (2)
466 ,start[,end]]) not found.
467 s.isalnum() return True if all characters in s are alphanumeric, (5)
469 s.isalpha() return True if all characters in s are alphabetic, (5)
471 s.isdigit() return True if all characters in s are digit (5)
472 characters, False otherwise.
473 s.islower() return True if all characters in s are lowercase, False (6)
475 s.isspace() return True if all characters in s are whitespace (5)
476 characters, False otherwise.
477 s.istitle() return True if string s is a titlecased string, False (7)
479 s.isupper() return True if all characters in s are uppercase, False (6)
481 s.join(seq) return a concatenation of the strings in the sequence
482 seq, seperated by 's's.
483 s.ljust(width) return s left justified in a string of length width. (1),
485 s.lower() return a copy of s converted to lowercase.
486 s.lstrip() return a copy of s with leading whitespace removed.
487 s.replace(old, return a copy of s with all occurrences of substring (9)
488 new[, maxsplit]) old replaced by new.
489 s.rfind(sub[ return the highest index in s where substring sub is (2)
490 ,start[,end]]) found. Return -1 if sub is not found.
491 s.rindex(sub[ like rfind(), but raise ValueError when the substring (2)
492 ,start[,end]]) is not found.
493 s.rjust(width) return s right justified in a string of length width. (1),
495 s.rstrip() return a copy of s with trailing whitespace removed.
496 s.split([sep[ return a list of the words in s, using sep as the (10)
497 ,maxsplit]]) delimiter string.
498 s.splitlines([ return a list of the lines in s, breaking at line (11)
499 keepends]) boundaries.
500 s.startswith return true if s starts with the specified prefix,
501 (prefix[,start[ otherwise return false. (2)
503 s.strip() return a copy of s with leading and trailing whitespace
505 s.swapcase() return a copy of s with uppercase characters converted
506 to lowercase and vice versa.
507 return a titlecased copy of s, i.e. words start with
508 s.title() uppercase characters, all remaining cased characters
510 s.translate(table return a copy of s mapped through translation table (12)
511 [,deletechars]) table.
512 s.upper() return a copy of s converted to uppercase.
513 s.zfill(width) return a string padded with zeroes on the left side and
514 sliding a minus sign left if necessary. never truncates.
517 (1) Padding is done using spaces.
518 (2) If optional argument start is supplied, substring s[start:] is
519 processed. If optional arguments start and end are supplied, substring s[start:
521 (3) Optional argument errors may be given to set a different error handling
522 scheme. The default for errors is 'strict', meaning that encoding errors raise
523 a ValueError. Other possible values are 'ignore' and 'replace'.
524 (4) If optional argument tabsize is not given, a tab size of 8 characters
526 (5) Returns false if string s does not contain at least one character.
527 (6) Returns false if string s does not contain at least one cased
529 (7) A titlecased string is a string in which uppercase characters may only
530 follow uncased characters and lowercase characters only cased ones.
531 (8) s is returned if width is less than len(s).
532 (9) If the optional argument maxsplit is given, only the first maxsplit
533 occurrences are replaced.
534 (10) If sep is not specified or None, any whitespace string is a separator.
535 If maxsplit is given, at most maxsplit splits are done.
536 (11) Line breaks are not included in the resulting list unless keepends is
538 (12) table must be a string of length 256. All characters occurring in the
539 optional argument deletechars are removed prior to translation.
541 String formatting with the % operator
543 formatString % args--> evaluates to a string
545 * formatString uses C printf format codes : %, c, s, i, d, u, o, x, X, e, E,
546 f, g, G, r (details below).
547 * Width and precision may be a * to specify that an integer argument gives
548 the actual width or precision.
549 * The flag characters -, +, blank, # and 0 are understood. (details below)
550 * %s will convert any type argument to string (uses str() function)
551 * args may be a single arg or a tuple of args
553 '%s has %03d quote types.' % ('Python', 2) # => 'Python has 002 quote types.'
555 * Right-hand-side can also be a mapping:
557 a = '%(lang)s has %(c)03d quote types.' % {'c':2, 'lang':'Python}
558 (vars() function very handy to use on right-hand-side.)
562 d Signed integer decimal.
563 i Signed integer decimal.
566 x Unsigned hexidecimal (lowercase).
567 X Unsigned hexidecimal (uppercase).
568 e Floating point exponential format (lowercase).
569 E Floating point exponential format (uppercase).
570 f Floating point decimal format.
571 F Floating point decimal format.
572 g Same as "e" if exponent is greater than -4 or less than precision,
574 G Same as "E" if exponent is greater than -4 or less than precision,
576 c Single character (accepts integer or single character string).
577 r String (converts any python object using repr()).
578 s String (converts any python object using str()).
579 % No argument is converted, results in a "%" character in the result.
580 (The complete specification is %%.)
582 Conversion flag characters
584 # The value conversion will use the ``alternate form''.
585 0 The conversion will be zero padded.
586 - The converted value is left adjusted (overrides "-").
587 (a space) A blank should be left before a positive number (or empty
588 string) produced by a signed conversion.
589 + A sign character ("+" or "-") will precede the conversion (overrides a
594 Created with built-in function open; may be created by other modules' functions
597 Operators on file objects
601 f.close() Close file f.
602 f.fileno() Get fileno (fd) for file f.
603 f.flush() Flush file f's internal buffer.
604 f.isatty() True if file f is connected to a tty-like dev, else False.
605 f.read([size]) Read at most size bytes from file f and return as a string
606 object. If size omitted, read to EOF.
607 f.readline() Read one entire line from file f.
608 f.readlines() Read until EOF with readline() and return list of lines read.
609 Set file f's position, like "stdio's fseek()".
610 f.seek(offset[, whence == 0 then use absolute indexing.
611 whence=0]) whence == 1 then offset relative to current pos.
612 whence == 2 then offset relative to file end.
613 f.tell() Return file f's current position (byte offset).
614 f.write(str) Write string to file f.
615 f.writelines(list Write list of strings to file f.
621 End-of-file hit when reading (may be raised many times, e.g. if f is a
624 Other I/O-related I/O operation failure.
626 OS system call failed.
631 -See manuals for more details -
634 + Class instance objects
635 + Type objects (see module: types)
636 + File objects (see above)
640 o User-defined (written in Python):
641 # User-defined Function objects
642 # User-defined Method objects
643 o Built-in (written in C):
644 # Built-in Function objects
645 # Built-in Method objects
647 o Code objects (byte-compile executable Python code: bytecode)
648 o Frame objects (execution frames)
649 o Traceback objects (stack trace of an exception)
654 pass -- Null statement
655 del name[,name]* -- Unbind name(s) from object. Object will be indirectly
656 (and automatically) deleted only if no longer referenced.
657 print [>> fileobject,] [s1 [, s2 ]* [,]
658 -- Writes to sys.stdout, or to fileobject if supplied.
659 Puts spaces between arguments. Puts newline at end
660 unless statement ends with comma.
661 Print is not required when running interactively,
662 simply typing an expression will print its value,
663 unless the value is None.
664 exec x [in globals [,locals]]
665 -- Executes x in namespaces provided. Defaults
666 to current namespaces. x can be a string, file
667 object or a function object.
668 callable(value,... [id=value], [*args], [**kw])
669 -- Call function callable with parameters. Parameters can
670 be passed by name or be omitted if function
671 defines default values. E.g. if callable is defined as
672 "def callable(p1=1, p2=2)"
673 "callable()" <=> "callable(1, 2)"
674 "callable(10)" <=> "callable(10, 2)"
675 "callable(p2=99)" <=> "callable(1, 99)"
676 *args is a tuple of positional arguments.
677 **kw is a dictionary of keyword arguments.
682 Operator Result Notes
683 a = b Basic assignment - assign object b to label a (1)
684 a += b Roughly equivalent to a = a + b (2)
685 a -= b Roughly equivalent to a = a - b (2)
686 a *= b Roughly equivalent to a = a * b (2)
687 a /= b Roughly equivalent to a = a / b (2)
688 a %= b Roughly equivalent to a = a % b (2)
689 a **= b Roughly equivalent to a = a ** b (2)
690 a &= b Roughly equivalent to a = a & b (2)
691 a |= b Roughly equivalent to a = a | b (2)
692 a ^= b Roughly equivalent to a = a ^ b (2)
693 a >>= b Roughly equivalent to a = a >> b (2)
694 a <<= b Roughly equivalent to a = a << b (2)
697 (1) Can unpack tuples, lists, and strings.
698 first, second = a[0:2]; [f, s] = range(2); c1,c2,c3='abc'
699 Tip: x,y = y,x swaps x and y.
700 (2) Not exactly equivalent - a is evaluated only once. Also, where
701 possible, operation performed in-place - a is modified rather than
707 [elif condition: suite]*
708 [else: suite] -- usual if/else_if/else statement
709 while condition: suite
711 -- usual while statement. "else" suite is executed
712 after loop exits, unless the loop is exited with
714 for element in sequence: suite
716 -- iterates over sequence, assigning each element to element.
717 Use built-in range function to iterate a number of times.
718 "else" suite executed at end unless loop exited
720 break -- immediately exits "for" or "while" loop
721 continue -- immediately does next iteration of "for" or "while" loop
722 return [result] -- Exits from function (or method) and returns result (use a tuple to
723 return more than one value). If no result given, then returns None.
724 yield result -- Freezes the execution frame of a generator and returns the result
725 to the iterator's .next() method. Upon the next call to next(),
726 resumes execution at the frozen point with all of the local variables
731 assert expr[, message]
732 -- expr is evaluated. if false, raises exception AssertionError
733 with message. Inhibited if __debug__ is 0.
735 [except [exception [, value]: suite2]+
737 -- statements in suite1 are executed. If an exception occurs, look
738 in "except" clauses for matching <exception>. If matches or bare
739 "except" execute suite of that clause. If no exception happens
740 suite in "else" clause is executed after suite1.
741 If exception has a value, it is put in value.
742 exception can also be tuple of exceptions, e.g.
743 "except (KeyError, NameError), val: print val"
746 -- statements in suite1 are executed. If no
747 exception, execute suite2 (even if suite1 is
748 exited with a "return", "break" or "continue"
749 statement). If exception did occur, executes
750 suite2 and then immediately reraises exception.
751 raise exception [,value [, traceback]]
752 -- raises exception with optional value
753 value. Arg traceback specifies a traceback object to
754 use when printing the exception's backtrace.
755 raise -- a raise statement without arguments re-raises
756 the last exception raised in the current function
757 An exception is either a string (object) or a class instance.
758 Can create a new one simply by creating a new string:
760 my_exception = 'You did something wrong'
763 raise my_exception, bad
764 except my_exception, value:
767 Exception classes must be derived from the predefined class: Exception, e.g.:
768 class text_exception(Exception): pass
771 raise text_exception()
772 # This is a shorthand for the form
773 # "raise <class>, <instance>"
776 # This will be printed because
777 # text_exception is a subclass of Exception
778 When an error message is printed for an unhandled exception which is a
779 class, the class name is printed, then a colon and a space, and
780 finally the instance converted to a string using the built-in function
782 All built-in exception classes derives from StandardError, itself
783 derived from Exception.
785 Name Space Statements
787 [1.51: On Mac & Windows, the case of module file names must now match the case
789 in the import statement]
790 Packages (>1.5): a package is a name space which maps to a directory including
791 module(s) and the special initialization module '__init__.py'
792 (possibly empty). Packages/dirs can be nested. You address a
793 module's symbol via '[package.[package...]module.symbol's.
794 import module1 [as name1] [, module2]*
795 -- imports modules. Members of module must be
796 referred to by qualifying with [package.]module name:
797 "import sys; print sys.argv:"
798 "import package1.subpackage.module; package1.subpackage.module.foo()"
799 module1 renamed as name1, if supplied.
800 from module import name1 [as othername1] [, name2]*
801 -- imports names from module module in current namespace.
802 "from sys import argv; print argv"
803 "from package1 import module; module.foo()"
804 "from package1.module import foo; foo()"
805 name1 renamed as othername1, if supplied.
807 -- imports all names in module, except those starting with "_";
808 *to be used sparsely, beware of name clashes* :
809 "from sys import *; print argv"
810 "from package.module import *; print x'
811 NB: "from package import *" only imports the symbols defined
812 in the package's __init__.py file, not those in the
814 global name1 [, name2]*
815 -- names are from global scope (usually meaning from module)
816 rather than local (usually meaning only in function).
817 -- E.g. in fct without "global" statements, assuming
818 "a" is name that hasn't been used in fct or module
820 -Try to read from "a" -> NameError
821 -Try to write to "a" -> creates "a" local to fcn
822 -If "a" not defined in fct, but is in module, then
823 -Try to read from "a", gets value from module
824 -Try to write to "a", creates "a" local to fct
825 But note "a[0]=3" starts with search for "a",
826 will use to global "a" if no local "a".
830 def func_id ([param_list]): suite
831 -- Creates a function object & binds it to name func_id.
833 param_list ::= [id [, id]*]
834 id ::= value | id = value | *id | **id
835 [Args are passed by value.Thus only args representing a mutable object
836 can be modified (are inout parameters). Use a tuple to return more than
840 def test (p1, p2 = 1+1, *rest, **keywords):
841 -- Parameters with "=" have default value (v is
842 evaluated when function defined).
843 If list has "*id" then id is assigned a tuple of
844 all remaining args passed to function (like C vararg)
845 If list has "**id" then id is assigned a dictionary of
846 all extra arguments passed as keywords.
850 class <class_id> [(<super_class1> [,<super_class2>]*)]: <suite>
851 -- Creates a class object and assigns it name <class_id>
852 <suite> may contain local "defs" of class methods and
853 assignments to class attributes.
855 class my_class (class1, class_list[3]): ...
856 Creates a class object inheriting from both "class1" and whatever
857 class object "class_list[3]" evaluates to. Assigns new
858 class object to name "my_class".
859 - First arg to class methods is always instance object, called 'self'
861 - Special method __init__() is called when instance is created.
862 - Special method __del__() called when no more reference to object.
863 - Create instance by "calling" class object, possibly with arg
864 (thus instance=apply(aClassObject, args...) creates an instance!)
865 - In current implementation, can't subclass off built-in
866 classes. But can "wrap" them, see UserDict & UserList modules,
867 and see __getattr__() below.
870 def __init__(self, name): self.name = name
871 def print_name(self): print "I'm", self.name
872 def call_parent(self): c_parent.print_name(self)
876 instance.print_name()
878 Call parent's super class by accessing parent's method
879 directly and passing "self" explicitly (see "call_parent"
881 Many other special methods available for implementing
882 arithmetic operators, sequence, mapping indexing, etc.
884 Documentation Strings
886 Modules, classes and functions may be documented by placing a string literal by
887 itself as the first statement in the suite. The documentation can be retrieved
888 by getting the '__doc__' attribute from the module, class or function.
893 "A description of the constructor"
895 Then c.__doc__ == "A description of C".
896 Then c.__init__.__doc__ == "A description of the constructor".
900 lambda [param_list]: returnedExpr
901 -- Creates an anonymous function. returnedExpr must be
902 an expression, not a statement (e.g., not "if xx:...",
903 "print xxx", etc.) and thus can't contain newlines.
904 Used mostly for filter(), map(), reduce() functions, and GUI callbacks..
906 result = [expression for item1 in sequence1 [if condition1]
907 [for item2 in sequence2 ... for itemN in sequenceN]
911 for item1 in sequence1:
912 for item2 in sequence2:
914 for itemN in sequenceN:
915 if (condition1) and furthur conditions:
916 result.append(expression)
924 __import__(name[, Imports module within the given context (see lib ref for
925 globals[, locals[, more details)
927 abs(x) Return the absolute value of number x.
928 apply(f, args[, Calls func/method f with arguments args and optional
930 bool(x) Returns True when the argument x is true and False otherwise.
931 buffer(obj) Creates a buffer reference to an object.
932 callable(x) Returns True if x callable, else False.
933 chr(i) Returns one-character string whose ASCII code isinteger i
934 classmethod(f) Converts a function f, into a method with the class as the
935 first argument. Useful for creating alternative constructors.
936 cmp(x,y) Returns negative, 0, positive if x <, ==, > to y
937 coerce(x,y) Returns a tuple of the two numeric arguments converted to a
939 Compiles string into a code object.filename is used in
940 error message, can be any string. It isusually the file
941 compile(string, from which the code was read, or eg. '<string>'if not read
942 filename, kind) from file.kind can be 'eval' if string is a single stmt, or
943 'single' which prints the output of expression statements
944 thatevaluate to something else than None, or be 'exec'.
945 complex(real[, Builds a complex object (can also be done using J or j
946 image]) suffix,e.g. 1+3J)
947 delattr(obj, name) deletes attribute named name of object obj <=> del obj.name
948 If no args, returns the list of names in current
949 dict([items]) Create a new dictionary from the specified item list.
950 dir([object]) localsymbol table. With a module, class or class
951 instanceobject as arg, returns list of names in its attr.
953 divmod(a,b) Returns tuple of (a/b, a%b)
954 enumerate(seq) Return a iterator giving: (0, seq[0]), (1, seq[1]), ...
955 eval(s[, globals[, Eval string s in (optional) globals, locals contexts.s must
956 locals]]) have no NUL's or newlines. s can also be acode object.
957 Example: x = 1; incr_x = eval('x + 1')
958 execfile(file[, Executes a file without creating a new module, unlike
959 globals[, locals]]) import.
960 file() Synonym for open().
961 filter(function, Constructs a list from those elements of sequence for which
962 sequence) function returns true. function takes one parameter.
963 float(x) Converts a number or a string to floating point.
964 getattr(object, [<default> arg added in 1.5.2]Gets attribute called name
965 name[, default])) from object,e.g. getattr(x, 'f') <=> x.f). If not found,
966 raisesAttributeError or returns default if specified.
967 globals() Returns a dictionary containing current global variables.
968 hasattr(object, Returns true if object has attr called name.
970 hash(object) Returns the hash value of the object (if it has one)
971 help(f) Display documentation on object f.
972 hex(x) Converts a number x to a hexadecimal string.
973 id(object) Returns a unique 'identity' integer for an object.
974 input([prompt]) Prints prompt if given. Reads input and evaluates it.
975 Converts a number or a string to a plain integer. Optional
976 int(x[, base]) base paramenter specifies base from which to convert string
978 intern(aString) Enters aString in the table of "interned strings"
979 andreturns the string. Interned strings are 'immortals'.
980 isinstance(obj, returns true if obj is an instance of class. Ifissubclass
981 class) (A,B) then isinstance(x,A) => isinstance(x,B)
982 issubclass(class1, returns true if class1 is derived from class2
984 Returns the length (the number of items) of an object
985 iter(collection) Returns an iterator over the collection.
986 len(obj) (sequence, dictionary, or instance of class implementing
988 list(sequence) Converts sequence into a list. If already a list,returns a
990 locals() Returns a dictionary containing current local variables.
991 Converts a number or a string to a long integer. Optional
992 long(x[, base]) base paramenter specifies base from which to convert string
994 Applies function to every item of list and returns a listof
995 map(function, list, the results. If additional arguments are passed,function
996 ...) must take that many arguments and it is givento function on
998 max(seq) Returns the largest item of the non-empty sequence seq.
999 min(seq) Returns the smallest item of a non-empty sequence seq.
1000 oct(x) Converts a number to an octal string.
1001 open(filename [, Returns a new file object. First two args are same asthose
1002 mode='r', [bufsize= for C's "stdio open" function. bufsize is 0for unbuffered,
1003 implementation 1 for line-buffered, negative forsys-default, all else, of
1004 dependent]]) (about) given size.
1005 ord(c) Returns integer ASCII value of c (a string of len 1). Works
1007 object() Create a base type. Used as a superclass for new-style objects.
1008 open(name Open a file.
1011 pow(x, y [, z]) Returns x to power y [modulo z]. See also ** operator.
1012 property() Created a property with access controlled by functions.
1013 range(start [,end Returns list of ints from >= start and < end.With 1 arg,
1014 [, step]]) list from 0..arg-1With 2 args, list from start..end-1With 3
1015 args, list from start up to end by step
1016 raw_input([prompt]) Prints prompt if given, then reads string from stdinput (no
1017 trailing \n). See also input().
1018 reduce(f, list [, Applies the binary function f to the items oflist so as to
1019 init]) reduce the list to a single value.If init given, it is
1020 "prepended" to list.
1021 Re-parses and re-initializes an already imported module.
1022 Useful in interactive mode, if you want to reload amodule
1023 reload(module) after fixing it. If module was syntacticallycorrect but had
1024 an error in initialization, mustimport it one more time
1025 before calling reload().
1026 Returns a string containing a printable and if possible
1027 repr(object) evaluable representation of an object. <=> `object`
1028 (usingbackquotes). Class redefinissable (__repr__). See
1030 round(x, n=0) Returns the floating point value x rounded to n digitsafter
1032 setattr(object, This is the counterpart of getattr().setattr(o, 'foobar',
1033 name, value) 3) <=> o.foobar = 3Creates attribute if it doesn't exist!
1034 slice([start,] stop Returns a slice object representing a range, with R/
1035 [, step]) Oattributes: start, stop, step.
1036 Returns a string containing a nicely
1037 staticmethod() Convert a function to method with no self or class
1038 argument. Useful for methods associated with a class that
1039 do not need access to an object's internal state.
1040 str(object) printablerepresentation of an object. Class overridable
1041 (__str__).See also repr().
1042 super(type) Create an unbound super object. Used to call cooperative
1044 sum(sequence, Add the values in the sequence and return the sum.
1046 tuple(sequence) Creates a tuple with same elements as sequence. If already
1047 a tuple, return itself (not a copy).
1048 Returns a type object [see module types] representing
1049 thetype of obj. Example: import typesif type(x) ==
1050 type(obj) types.StringType: print 'It is a string'NB: it is
1051 recommanded to use the following form:if isinstance(x,
1052 types.StringType): etc...
1054 unicode(string[, Creates a Unicode string from a 8-bit string, using
1055 encoding[, error thegiven encoding name and error treatment ('strict',
1056 ]]]) 'ignore',or 'replace'}.
1057 Without arguments, returns a dictionary correspondingto the
1058 current local symbol table. With a module,class or class
1059 vars([object]) instance object as argumentreturns a dictionary
1060 corresponding to the object'ssymbol table. Useful with "%"
1061 formatting operator.
1062 xrange(start [, end Like range(), but doesn't actually store entire listall at
1063 [, step]]) once. Good to use in "for" loops when there is abig range
1065 zip(seq1[, seq2, Returns a list of tuples where each tuple contains the nth
1066 ...]) element of each of the argument sequences.
1074 Root class for all exceptions
1078 Signal the end from iterator.next()
1080 Base class for all built-in exceptions; derived from Exception
1083 Base class for OverflowError, ZeroDivisionError,
1086 When a floating point operation fails.
1088 On excessively large arithmetic operation
1090 On division or modulo operation with 0 as 2nd arg
1092 When an assert statement fails.
1094 On attribute reference or assignment failure
1095 EnvironmentError [new in 1.5.2]
1096 On error outside Python; error arg tuple is (errno, errMsg...)
1097 IOError [changed in 1.5.2]
1098 I/O-related operation failure
1099 OSError [new in 1.5.2]
1100 used by the os module's os.error exception.
1102 Immediate end-of-file hit by input() or raw_input()
1104 On failure of `import' to find module or name
1106 On user entry of the interrupt key (often `Control-C')
1108 base class for IndexError, KeyError
1110 On out-of-range sequence subscript
1112 On reference to a non-existent mapping (dict) key
1114 On recoverable memory exhaustion
1116 On failure to find a local or global (unqualified) name
1118 Obsolete catch-all; define a suitable error instead
1119 NotImplementedError [new in 1.5.2]
1120 On method not implemented
1122 On parser encountering a syntax error
1124 On parser encountering an indentation syntax error
1126 On parser encountering an indentation syntax error
1128 On non-fatal interpreter error - bug - report it
1130 On passing inappropriate type to built-in op or func
1132 On arg error not covered by TypeError or more precise
1136 PendingDeprecationWarning
1143 Standard methods & operators redefinition in classes
1145 Standard methods & operators map to special '__methods__' and thus may be
1146 redefined (mostly in in user-defined classes), e.g.:
1148 def __init__(self, v): self.value = v
1149 def __add__(self, r): return self.value + r
1150 a = x(3) # sort of like calling x.__init__(a, 3)
1151 a + 4 # is equivalent to a.__add__(4)
1153 Special methods for any class
1156 __init__(s, args) instance initialization (on construction)
1157 __del__(s) called on object demise (refcount becomes 0)
1158 __repr__(s) repr() and `...` conversions
1159 __str__(s) str() and 'print' statement
1160 __cmp__(s, o) Compares s to o and returns <0, 0, or >0.
1161 Implements >, <, == etc...
1162 __hash__(s) Compute a 32 bit hash code; hash() and dictionary ops
1163 __nonzero__(s) Returns False or True for truth value testing
1164 __getattr__(s, name) called when attr lookup doesn't find <name>
1165 __setattr__(s, name, val) called when setting an attr
1166 (inside, don't use "self.name = value"
1167 use "self.__dict__[name] = val")
1168 __delattr__(s, name) called to delete attr <name>
1169 __call__(self, *args) called when an instance is called as function.
1173 See list in the operator module. Operator function names are provided with
1174 2 variants, with or without
1175 ading & trailing '__' (eg. __add__ or add).
1177 Numeric operations special methods
1180 s+o = __add__(s,o) s-o = __sub__(s,o)
1181 s*o = __mul__(s,o) s/o = __div__(s,o)
1182 s%o = __mod__(s,o) divmod(s,o) = __divmod__(s,o)
1185 s^o = __xor__(s,o) s|o = __or__(s,o)
1186 s<<o = __lshift__(s,o) s>>o = __rshift__(s,o)
1187 nonzero(s) = __nonzero__(s) (used in boolean testing)
1188 -s = __neg__(s) +s = __pos__(s)
1189 abs(s) = __abs__(s) ~s = __invert__(s) (bitwise)
1190 s+=o = __iadd__(s,o) s-=o = __isub__(s,o)
1191 s*=o = __imul__(s,o) s/=o = __idiv__(s,o)
1192 s%=o = __imod__(s,o)
1193 s**=o = __ipow__(s,o)
1194 s&=o = __iand__(s,o)
1195 s^=o = __ixor__(s,o) s|=o = __ior__(s,o)
1196 s<<=o = __ilshift__(s,o) s>>=o = __irshift__(s,o)
1198 int(s) = __int__(s) long(s) = __long__(s)
1199 float(s) = __float__(s) complex(s) = __complex__(s)
1200 oct(s) = __oct__(s) hex(s) = __hex__(s)
1201 coerce(s,o) = __coerce__(s,o)
1202 Right-hand-side equivalents for all binary operators exist;
1203 are called when class instance is on r-h-s of operator:
1204 a + 3 calls __add__(a, 3)
1205 3 + a calls __radd__(a, 3)
1207 All seqs and maps, general operations plus:
1208 (s: self, i: index or key)
1210 len(s) = __len__(s) length of object, >= 0. Length 0 == false
1211 s[i] = __getitem__(s,i) Element at index/key i, origin 0
1213 Sequences, general methods, plus:
1214 s[i]=v = __setitem__(s,i,v)
1215 del s[i] = __delitem__(s,i)
1216 s[i:j] = __getslice__(s,i,j)
1217 s[i:j]=seq = __setslice__(s,i,j,seq)
1218 del s[i:j] = __delslice__(s,i,j) == s[i:j] = []
1219 seq * n = __repeat__(seq, n)
1220 s1 + s2 = __concat__(s1, s2)
1221 i in s = __contains__(s, i)
1222 Mappings, general methods, plus
1223 hash(s) = __hash__(s) - hash value for dictionary references
1224 s[k]=v = __setitem__(s,k,v)
1225 del s[k] = __delitem__(s,k)
1227 Special informative state attributes for some types:
1230 __doc__ (string/None, R/O): doc string (<=> __dict__['__doc__'])
1231 __name__(string, R/O): module name (also in __dict__['__name__'])
1232 __dict__ (dict, R/O): module's name space
1233 __file__(string/undefined, R/O): pathname of .pyc, .pyo or .pyd (undef for
1234 modules statically linked to the interpreter)
1236 Classes: [in bold: writable since 1.5.2]
1237 __doc__ (string/None, R/W): doc string (<=> __dict__['__doc__'])
1238 __module__ is the module name in which the class was defined
1239 __name__(string, R/W): class name (also in __dict__['__name__'])
1240 __bases__ (tuple, R/W): parent classes
1241 __dict__ (dict, R/W): attributes (class name space)
1244 __class__ (class, R/W): instance's class
1245 __dict__ (dict, R/W): attributes
1247 User-defined functions: [bold: writable since 1.5.2]
1248 __doc__ (string/None, R/W): doc string
1249 __name__(string, R/O): function name
1250 func_doc (R/W): same as __doc__
1251 func_name (R/O): same as __name__
1252 func_defaults (tuple/None, R/W): default args values if any
1253 func_code (code, R/W): code object representing the compiled function body
1254 func_globals (dict, R/O): ref to dictionary of func global variables
1255 func_dict (dict, R/W): same as __dict__ contains the namespace supporting
1256 arbitrary function attributes
1257 func_closure (R/O): None or a tuple of cells that contain bindings
1258 for the function's free variables.
1261 User-defined Methods:
1262 __doc__ (string/None, R/O): doc string
1263 __name__(string, R/O): method name (same as im_func.__name__)
1264 im_class (class, R/O): class defining the method (may be a base class)
1265 im_self (instance/None, R/O): target instance object (None if unbound)
1266 im_func (function, R/O): function object
1268 Built-in Functions & methods:
1269 __doc__ (string/None, R/O): doc string
1270 __name__ (string, R/O): function name
1271 __self__ : [methods only] target object
1274 co_name (string, R/O): function name
1275 co_argcount (int, R/0): number of positional args
1276 co_nlocals (int, R/O): number of local vars (including args)
1277 co_varnames (tuple, R/O): names of local vars (starting with args)
1278 co_cellvars (tuple, R/O)) the names of local variables referenced by
1280 co_freevars (tuple, R/O)) names of free variables
1281 co_code (string, R/O): sequence of bytecode instructions
1282 co_consts (tuple, R/O): litterals used by the bytecode, 1st one is
1284 co_names (tuple, R/O): names used by the bytecode
1285 co_filename (string, R/O): filename from which the code was compiled
1286 co_firstlineno (int, R/O): first line number of the function
1287 co_lnotab (string, R/O): string encoding bytecode offsets to line numbers.
1288 co_stacksize (int, R/O): required stack size (including local vars)
1289 co_flags (int, R/O): flags for the interpreter
1290 bit 2 set if fct uses "*arg" syntax
1291 bit 3 set if fct uses '**keywords' syntax
1293 f_back (frame/None, R/O): previous stack frame (toward the caller)
1294 f_code (code, R/O): code object being executed in this frame
1295 f_locals (dict, R/O): local vars
1296 f_globals (dict, R/O): global vars
1297 f_builtins (dict, R/O): built-in (intrinsic) names
1298 f_restricted (int, R/O): flag indicating whether fct is executed in
1300 f_lineno (int, R/O): current line number
1301 f_lasti (int, R/O): precise instruction (index into bytecode)
1302 f_trace (function/None, R/W): debug hook called at start of each source line
1303 f_exc_type (Type/None, R/W): Most recent exception type
1304 f_exc_value (any, R/W): Most recent exception value
1305 f_exc_traceback (traceback/None, R/W): Most recent exception traceback
1307 tb_next (frame/None, R/O): next level in stack trace (toward the frame where
1308 the exception occurred)
1309 tb_frame (frame, R/O): execution frame of the current level
1310 tb_lineno (int, R/O): line number where the exception occurred
1311 tb_lasti (int, R/O): precise instruction (index into bytecode)
1314 start (any/None, R/O): lowerbound
1315 stop (any/None, R/O): upperbound
1316 step (any/None, R/O): step value
1319 real (float, R/O): real part
1320 imag (float, R/O): imaginary part
1329 argv The list of command line arguments passed to aPython
1330 script. sys.argv[0] is the script name.
1331 builtin_module_names A list of strings giving the names of all moduleswritten
1332 in C that are linked into this interpreter.
1333 check_interval How often to check for thread switches or signals(measured
1334 in number of virtual machine instructions)
1335 exc_type, exc_value, Deprecated since release 1.5. Use exc_info() instead.
1337 exitfunc User can set to a parameterless fcn. It will getcalled
1338 before interpreter exits.
1339 last_type, Set only when an exception not handled andinterpreter
1340 last_value, prints an error. Used by debuggers.
1342 maxint maximum positive value for integers
1343 modules Dictionary of modules that have already been loaded.
1344 path Search path for external modules. Can be modifiedby
1345 program. sys.path[0] == dir of script executing
1346 platform The current platform, e.g. "sunos5", "win32"
1347 ps1, ps2 prompts to use in interactive mode.
1348 File objects used for I/O. One can redirect byassigning a
1349 stdin, stdout, new file object to them (or any object:.with a method
1350 stderr write(string) for stdout/stderr,.with a method readline()
1352 version string containing version info about Python interpreter.
1353 (and also: copyright, dllhandle, exec_prefix, prefix)
1354 version_info tuple containing Python version info - (major, minor,
1355 micro, level, serial).
1359 exit(n) Exits with status n. Raises SystemExit exception.(Hence can
1360 be caught and ignored by program)
1361 getrefcount(object Returns the reference count of the object. Generally one
1362 ) higher than you might expect, because of object arg temp
1364 setcheckinterval( Sets the interpreter's thread switching interval (in number
1365 interval) of virtual code instructions, default:100).
1366 settrace(func) Sets a trace function: called before each line ofcode is
1368 setprofile(func) Sets a profile function for performance profiling.
1369 Info on exception currently being handled; this is atuple
1370 (exc_type, exc_value, exc_traceback).Warning: assigning the
1371 exc_info() traceback return value to a loca variable in a
1372 function handling an exception will cause a circular
1374 setdefaultencoding Change default Unicode encoding - defaults to 7-bit ASCII.
1376 getrecursionlimit Retrieve maximum recursion depth.
1378 setrecursionlimit Set maximum recursion depth. (Defaults to 1000.)
1384 "synonym" for whatever O/S-specific module is proper for current environment.
1385 this module uses posix whenever possible.
1386 (see also M.A. Lemburg's utility http://www.lemburg.com/files/python/
1391 name name of O/S-specific module (e.g. "posix", "mac", "nt")
1392 path O/S-specific module for path manipulations.
1393 On Unix, os.path.split() <=> posixpath.split()
1394 curdir string used to represent current directory ('.')
1395 pardir string used to represent parent directory ('..')
1396 sep string used to separate directories ('/' or '\'). Tip: use
1397 os.path.join() to build portable paths.
1398 altsep Alternate sep
1401 pathsep character used to separate search path components (as in
1402 $PATH), eg. ';' for windows.
1403 linesep line separator as used in binary files, ie '\n' on Unix, '\
1404 r\n' on Dos/Win, '\r'
1408 makedirs(path[, Recursive directory creation (create required intermediary
1409 mode=0777]) dirs); os.error if fails.
1410 removedirs(path) Recursive directory delete (delete intermediary empty
1412 renames(old, new) Recursive directory or file renaming; os.error if fails.
1417 don't import this module directly, import os instead !
1418 (see also module: shutil for file copy & remove fcts)
1422 environ dictionary of environment variables, e.g.posix.environ['HOME'].
1423 error exception raised on POSIX-related error.
1424 Corresponding value is tuple of errno code and perror() string.
1426 Some posix functions
1428 chdir(path) Changes current directory to path.
1429 chmod(path, Changes the mode of path to the numeric mode
1431 close(fd) Closes file descriptor fd opened with posix.open.
1432 _exit(n) Immediate exit, with no cleanups, no SystemExit,etc. Should use
1433 this to exit a child process.
1434 execv(p, args) "Become" executable p with args args
1435 getcwd() Returns a string representing the current working directory
1436 getpid() Returns the current process id
1437 fork() Like C's fork(). Returns 0 to child, child pid to parent.[Not
1439 kill(pid, Like C's kill [Not on Windows]
1441 listdir(path) Lists (base)names of entries in directory path, excluding '.'
1443 lseek(fd, pos, Sets current position in file fd to position pos, expressedas
1444 how) an offset relative to beginning of file (how=0), tocurrent
1445 position (how=1), or to end of file (how=2)
1446 mkdir(path[, Creates a directory named path with numeric mode (default 0777)
1448 open(file, Like C's open(). Returns file descriptor. Use file object
1449 flags, mode) fctsrather than this low level ones.
1450 pipe() Creates a pipe. Returns pair of file descriptors (r, w) [Not on
1452 popen(command, Opens a pipe to or from command. Result is a file object to
1453 mode='r', read to orwrite from, as indicated by mode being 'r' or 'w'.
1454 bufSize=0) Use it to catch acommand output ('r' mode) or to feed it ('w'
1456 remove(path) See unlink.
1457 rename(src, dst Renames/moves the file or directory src to dst. [error iftarget
1458 ) name already exists]
1459 rmdir(path) Removes the empty directory path
1460 read(fd, n) Reads n bytes from file descriptor fd and return as string.
1461 Returns st_mode, st_ino, st_dev, st_nlink, st_uid,st_gid,
1462 stat(path) st_size, st_atime, st_mtime, st_ctime.[st_ino, st_uid, st_gid
1463 are dummy on Windows]
1464 system(command) Executes string command in a subshell. Returns exitstatus of
1465 subshell (usually 0 means OK).
1466 Returns accumulated CPU times in sec (user, system, children's
1467 times() user,children's sys, elapsed real time). [3 last not on
1469 unlink(path) Unlinks ("deletes") the file (not dir!) path. same as: remove
1470 utime(path, ( Sets the access & modified time of the file to the given tuple
1471 aTime, mTime)) of values.
1472 wait() Waits for child process completion. Returns tuple ofpid,
1473 exit_status [Not on Windows]
1474 waitpid(pid, Waits for process pid to complete. Returns tuple ofpid,
1475 options) exit_status [Not on Windows]
1476 write(fd, str) Writes str to file fd. Returns nb of bytes written.
1481 Do not import this module directly, import os instead and refer to this module
1482 as os.path. (e.g. os.path.exists(p)) !
1484 Some posixpath functions
1486 abspath(p) Returns absolute path for path p, taking current working dir in
1489 basename(p directory and name parts of the path p. See also split.
1491 exists(p) True if string p is an existing path (file or directory)
1492 expanduser Returns string that is (a copy of) p with "~" expansion done.
1494 expandvars Returns string that is (a copy of) p with environment vars expanded.
1495 (p) [Windows: case significant; must use Unix: $var notation, not %var%]
1496 getsize( return the size in bytes of filename. raise os.error.
1498 getmtime( return last modification time of filename (integer nb of seconds
1499 filename) since epoch).
1500 getatime( return last access time of filename (integer nb of seconds since
1502 isabs(p) True if string p is an absolute path.
1503 isdir(p) True if string p is a directory.
1504 islink(p) True if string p is a symbolic link.
1505 ismount(p) True if string p is a mount point [true for all dirs on Windows].
1506 join(p[,q Joins one or more path components intelligently.
1508 Splits p into (head, tail) where tail is lastpathname component and
1509 split(p) <head> is everything leadingup to that. <=> (dirname(p), basename
1511 splitdrive Splits path p in a pair ('drive:', tail) [Windows]
1513 splitext(p Splits into (root, ext) where last comp of root contains no periods
1514 ) and ext is empty or startswith a period.
1515 Calls the function visit with arguments(arg, dirname, names) for
1516 each directory recursively inthe directory tree rooted at p
1517 walk(p, (including p itself if it's a dir)The argument dirname specifies the
1518 visit, arg visited directory, the argumentnames lists the files in the
1519 ) directory. The visit function maymodify names to influence the set
1520 of directories visited belowdirname, e.g., to avoid visiting certain
1526 high-level file operations (copying, deleting).
1528 Main shutil functions
1530 copy(src, dst) Copies the contents of file src to file dst, retaining file
1532 copytree(src, dst Recursively copies an entire directory tree rooted at src
1533 [, symlinks]) into dst (which should not already exist). If symlinks is
1534 true, links insrc are kept as such in dst.
1535 rmtree(path[, Deletes an entire directory tree, ignoring errors if
1536 ignore_errors[, ignore_errors true,or calling onerror(func, path,
1537 onerror]]) sys.exc_info()) if supplied with
1539 (and also: copyfile, copymode, copystat, copy2)
1545 altzone signed offset of local DST timezone in sec west of the 0th meridian.
1546 daylight nonzero if a DST timezone is specified
1550 time() return a float representing UTC time in seconds since the epoch.
1551 gmtime(secs), return a tuple representing time : (year aaaa, month(1-12),day
1552 localtime( (1-31), hour(0-23), minute(0-59), second(0-59), weekday(0-6, 0 is
1553 secs) monday), Julian day(1-366), daylight flag(-1,0 or 1))
1557 format, return a formated string representing time.
1559 mktime(tuple) inverse of localtime(). Return a float.
1560 strptime( parse a formated string representing time, return tuple as in
1563 sleep(secs) Suspend execution for <secs> seconds. <secs> can be a float.
1565 and also: clock, ctime.
1569 As of Python 2.0, much (though not all) of the functionality provided by the
1570 string module have been superseded by built-in string methods - see Operations
1571 on strings for details.
1573 Some string variables
1575 digits The string '0123456789'
1576 hexdigits, octdigits legal hexadecimal & octal digits
1577 letters, uppercase, lowercase, Strings containing the appropriate
1578 whitespace characters
1579 index_error Exception raised by index() if substr not
1582 Some string functions
1584 expandtabs(s, returns a copy of string <s> with tabs expanded.
1586 find/rfind(s, sub Return the lowest/highest index in <s> where the substring
1587 [, start=0[, end= <sub> is found such that <sub> is wholly contained ins
1588 0]) [start:end]. Return -1 if <sub> not found.
1589 ljust/rjust/center Return a copy of string <s> left/right justified/centerd in
1590 (s, width) afield of given width, padded with spaces. <s> is
1592 lower/upper(s) Return a string that is (a copy of) <s> in lowercase/
1594 split(s[, sep= Return a list containing the words of the string <s>,using
1595 whitespace[, the string <sep> as a separator.
1597 join(words[, sep=' Concatenate a list or tuple of words with
1598 ']) interveningseparators; inverse of split.
1599 replace(s, old, Returns a copy of string <s> with all occurrences of
1600 new[, maxsplit=0] substring<old> replaced by <new>. Limits to <maxsplit>
1601 firstsubstitutions if specified.
1602 strip(s) Return a string that is (a copy of) <s> without leadingand
1603 trailing whitespace. see also lstrip, rstrip.
1609 Handles Unicode strings. Implemented in new module sre, re now a mere front-end
1611 Patterns are specified as strings. Tip: Use raw strings (e.g. r'\w*') to
1612 litteralize backslashes.
1615 Regular expression syntax
1617 . matches any character (including newline if DOTALL flag specified)
1618 ^ matches start of the string (of every line in MULTILINE mode)
1619 $ matches end of the string (of every line in MULTILINE mode)
1620 * 0 or more of preceding regular expression (as many as possible)
1621 + 1 or more of preceding regular expression (as many as possible)
1622 ? 0 or 1 occurrence of preceding regular expression
1623 *?, +?, ?? Same as *, + and ? but matches as few characters as possible
1624 {m,n} matches from m to n repetitions of preceding RE
1625 {m,n}? idem, attempting to match as few repetitions as possible
1626 [ ] defines character set: e.g. '[a-zA-Z]' to match all letters(see also
1628 [^ ] defines complemented character set: matches if char is NOT in set
1629 escapes special chars '*?+&$|()' and introduces special sequences
1630 \ (see below). Due to Python string rules, write as '\\' orr'\' in the
1632 \\ matches a litteral '\'; due to Python string rules, write as '\\\\
1633 'in pattern string, or better using raw string: r'\\'.
1634 | specifies alternative: 'foo|bar' matches 'foo' or 'bar'
1635 (...) matches any RE inside (), and delimits a group.
1636 (?:...) idem but doesn't delimit a group.
1637 matches if ... matches next, but doesn't consume any of the string
1638 (?=...) e.g. 'Isaac (?=Asimov)' matches 'Isaac' only if followed by
1640 (?!...) matches if ... doesn't match next. Negative of (?=...)
1641 (?P<name matches any RE inside (), and delimits a named group. (e.g. r'(?P
1642 >...) <id>[a-zA-Z_]\w*)' defines a group named id)
1643 (?P=name) matches whatever text was matched by the earlier group named name.
1644 (?#...) A comment; ignored.
1645 (?letter) letter is one of 'i','L', 'm', 's', 'x'. Set the corresponding flags
1646 (re.I, re.L, re.M, re.S, re.X) for the entire RE.
1649 Sequence Description
1650 number matches content of the group of the same number; groups are numbered
1652 \A matches only at the start of the string
1653 \b empty str at beg or end of word: '\bis\b' matches 'is', but not 'his'
1654 \B empty str NOT at beginning or end of word
1655 \d any decimal digit (<=> [0-9])
1656 \D any non-decimal digit char (<=> [^O-9])
1657 \s any whitespace char (<=> [ \t\n\r\f\v])
1658 \S any non-whitespace char (<=> [^ \t\n\r\f\v])
1659 \w any alphaNumeric char (depends on LOCALE flag)
1660 \W any non-alphaNumeric char (depends on LOCALE flag)
1661 \Z matches only at the end of the string
1665 error Exception when pattern string isn't a valid regexp.
1669 Compile a RE pattern string into a regular expression object.
1670 Flags (combinable by |):
1672 I or IGNORECASE or (?i)
1673 case insensitive matching
1674 compile( L or LOCALE or (?L)
1675 pattern[, make \w, \W, \b, \B dependent on thecurrent locale
1676 flags=0]) M or MULTILINE or (?m)
1677 matches every new line and not onlystart/end of the whole
1680 '.' matches ALL chars, including newline
1681 X or VERBOSE or (?x)
1682 Ignores whitespace outside character sets
1683 escape(string) return (a copy of) string with all non-alphanumerics
1685 match(pattern, if 0 or more chars at beginning of <string> match the RE pattern
1686 string[, flags string,return a corresponding MatchObject instance, or None if
1688 search(pattern scan thru <string> for a location matching <pattern>, return
1689 , string[, acorresponding MatchObject instance, or None if no match.
1691 split(pattern, split <string> by occurrences of <pattern>. If capturing () are
1692 string[, used inpattern, then occurrences of patterns or subpatterns are
1693 maxsplit=0]) also returned.
1694 findall( return a list of non-overlapping matches in <pattern>, either a
1695 pattern, list ofgroups or a list of tuples if the pattern has more than 1
1697 return string obtained by replacing the (<count> first) lefmost
1698 sub(pattern, non-overlapping occurrences of <pattern> (a string or a RE
1699 repl, string[, object) in <string>by <repl>; <repl> can be a string or a fct
1700 count=0]) called with a single MatchObj arg, which must return the
1703 repl, string[, same as sub(), but returns a tuple (newString, numberOfSubsMade)
1706 Regular Expression Objects
1709 (RE objects are returned by the compile fct)
1711 re object attributes
1712 Attribute Descrition
1713 flags flags arg used when RE obj was compiled, or 0 if none provided
1714 groupindex dictionary of {group name: group number} in pattern
1715 pattern pattern string from which RE obj was compiled
1719 If zero or more characters at the beginning of string match this
1720 regular expression, return a corresponding MatchObject instance.
1721 Return None if the string does not match the pattern; note that
1722 this is different from a zero-length match.
1723 The optional second parameter pos gives an index in the string
1724 match( where the search is to start; it defaults to 0. This is not
1725 string[, completely equivalent to slicing the string; the '' pattern
1726 pos][, character matches at the real beginning of the string and at
1727 endpos]) positions just after a newline, but not necessarily at the index
1728 where the search is to start.
1729 The optional parameter endpos limits how far the string will be
1730 searched; it will be as if the string is endpos characters long, so
1731 only the characters from pos to endpos will be searched for a
1733 Scan through string looking for a location where this regular
1734 search( expression produces a match, and return a corresponding MatchObject
1735 string[, instance. Return None if no position in the string matches the
1736 pos][, pattern; note that this is different from finding a zero-length
1737 endpos]) match at some point in the string.
1738 The optional pos and endpos parameters have the same meaning as for
1741 string[, Identical to the split() function, using the compiled pattern.
1744 findall( Identical to the findall() function, using the compiled pattern.
1747 string[, Identical to the sub() function, using the compiled pattern.
1750 string[, Identical to the subn() function, using the compiled pattern.
1756 (Match objects are returned by the match & search functions)
1758 Match object attributes
1759 Attribute Description
1760 pos value of pos passed to search or match functions; index intostring at
1761 which RE engine started search.
1762 endpos value of endpos passed to search or match functions; index intostring
1763 beyond which RE engine won't go.
1764 re RE object whose match or search fct produced this MatchObj instance
1765 string string passed to match() or search()
1767 Match object functions
1769 returns one or more groups of the match. If one arg, result is a
1770 group([g1 string;if multiple args, result is a tuple with one item per arg. If
1771 , g2, gi is 0,return value is entire matching string; if 1 <= gi <= 99,
1772 ...]) returnstring matching group #gi (or None if no such group); gi may
1773 also bea group name.
1774 returns a tuple of all groups of the match; groups not
1775 groups() participatingto the match have a value of None. Returns a string
1776 instead of tupleif len(tuple)=1
1778 group), returns indices of start & end of substring matched by group (or
1779 end(group Noneif group exists but doesn't contribute to the match)
1781 span( returns the 2-tuple (start(group), end(group)); can be (None, None)if
1782 group) group didn't contibute to the match.
1791 Functions (see ordinary C man pages for info):
1804 frexp(x) -- Unlike C: (float, int) = frexp(float)
1808 modf(x) -- Unlike C: (float, float) = modf(float)
1820 getopt(list, optstr) -- Similar to C. <optstr> is option
1821 letters to look for. Put ':' after letter
1822 if option takes arg. E.g.
1823 # invocation was "python test.py -c hi -a arg1 arg2"
1824 opts, args = getopt.getopt(sys.argv[1:], 'ab:c:')
1826 [('-c', 'hi'), ('-a', '')]
1831 List of modules and packages in base distribution
1833 (built-ins and content of python Lib directory)
1834 (Python NT distribution, may be slightly different in other distributions)
1836 Standard library modules
1838 aifc Stuff to parse AIFF-C and AIFF files.
1839 anydbm Generic interface to all dbm clones. (dbhash, gdbm,
1841 asynchat Support for 'chat' style protocols
1842 asyncore Asynchronous File I/O (in select style)
1843 atexit Register functions to be called at exit of Python interpreter.
1844 audiodev Audio support for a few platforms.
1845 base64 Conversions to/from base64 RFC-MIME transport encoding .
1846 BaseHTTPServer Base class forhttp services.
1847 Bastion "Bastionification" utility (control access to instance vars)
1848 bdb A generic Python debugger base class.
1849 binhex Macintosh binhex compression/decompression.
1850 bisect List bisection algorithms.
1851 bz2 Support for bz2 compression/decompression.
1852 calendar Calendar printing functions.
1853 cgi Wraps the WWW Forms Common Gateway Interface (CGI).
1854 cgitb Utility for handling CGI tracebacks.
1855 CGIHTTPServer CGI http services.
1856 cmd A generic class to build line-oriented command interpreters.
1857 datetime Basic date and time types.
1858 code Utilities needed to emulate Python's interactive interpreter
1859 codecs Lookup existing Unicode encodings and register new ones.
1860 colorsys Conversion functions between RGB and other color systems.
1861 commands Tools for executing UNIX commands .
1862 compileall Force "compilation" of all .py files in a directory.
1863 ConfigParser Configuration file parser (much like windows .ini files)
1864 copy Generic shallow and deep copying operations.
1865 copy_reg Helper to provide extensibility for pickle/cPickle.
1866 csv Read and write files with comma separated values.
1867 dbhash (g)dbm-compatible interface to bsdhash.hashopen.
1868 dircache Sorted list of files in a dir, using a cache.
1869 [DEL:dircmp:DEL] [DEL:Defines a class to build directory diff tools on.:DEL]
1870 difflib Tool for creating delta between sequences.
1871 dis Bytecode disassembler.
1872 distutils Package installation system.
1873 doctest Tool for running and verifying tests inside doc strings.
1874 dospath Common operations on DOS pathnames.
1875 dumbdbm A dumb and slow but simple dbm clone.
1876 [DEL:dump:DEL] [DEL:Print python code that reconstructs a variable.:DEL]
1877 email Comprehensive support for internet email.
1878 exceptions Class based built-in exception hierarchy.
1879 filecmp File comparison.
1880 fileinput Helper class to quickly write a loop over all standard input
1882 [DEL:find:DEL] [DEL:Find files directory hierarchy matching a pattern.:DEL]
1883 fnmatch Filename matching with shell patterns.
1884 formatter A test formatter.
1885 fpformat General floating point formatting functions.
1886 ftplib An FTP client class. Based on RFC 959.
1887 gc Perform garbacge collection, obtain GC debug stats, and tune
1889 getopt Standard command line processing. See also ftp://
1890 www.pauahtun.org/pub/getargspy.zip
1891 getpass Utilities to get a password and/or the current user name.
1892 glob filename globbing.
1893 gopherlib Gopher protocol client interface.
1894 [DEL:grep:DEL] [DEL:'grep' utilities.:DEL]
1895 gzip Read & write gzipped files.
1896 heapq Priority queue implemented using lists organized as heaps.
1897 HMAC Keyed-Hashing for Message Authentication -- RFC 2104.
1898 htmlentitydefs Proposed entity definitions for HTML.
1899 htmllib HTML parsing utilities.
1900 HTMLParser A parser for HTML and XHTML.
1901 httplib HTTP client class.
1902 ihooks Hooks into the "import" mechanism.
1903 imaplib IMAP4 client.Based on RFC 2060.
1904 imghdr Recognizing image files based on their first few bytes.
1905 imputil Privides a way of writing customised import hooks.
1906 inspect Tool for probing live Python objects.
1907 keyword List of Python keywords.
1908 knee A Python re-implementation of hierarchical module import.
1909 linecache Cache lines from files.
1910 linuxaudiodev Lunix /dev/audio support.
1911 locale Support for number formatting using the current locale
1913 logging Python logging facility.
1914 macpath Pathname (or related) operations for the Macintosh.
1915 macurl2path Mac specific module for conversion between pathnames and URLs.
1916 mailbox A class to handle a unix-style or mmdf-style mailbox.
1917 mailcap Mailcap file handling (RFC 1524).
1918 mhlib MH (mailbox) interface.
1919 mimetools Various tools used by MIME-reading or MIME-writing programs.
1920 mimetypes Guess the MIME type of a file.
1921 MimeWriter Generic MIME writer.
1922 mimify Mimification and unmimification of mail messages.
1923 mmap Interface to memory-mapped files - they behave like mutable
1925 multifile Class to make multi-file messages easier to handle.
1926 mutex Mutual exclusion -- for use with module sched.
1928 nntplib An NNTP client class. Based on RFC 977.
1929 ntpath Common operations on DOS pathnames.
1930 nturl2path Mac specific module for conversion between pathnames and URLs.
1931 optparse A comprehensive tool for processing command line options.
1932 os Either mac, dos or posix depending system.
1933 [DEL:packmail: [DEL:Create a self-unpacking shell archive.:DEL]
1935 pdb A Python debugger.
1936 pickle Pickling (save and restore) of Python objects (a faster
1937 Cimplementation exists in built-in module: cPickle).
1938 pipes Conversion pipeline templates.
1939 pkgunil Utilities for working with Python packages.
1940 popen2 variations on pipe open.
1941 poplib A POP3 client class. Based on the J. Myers POP3 draft.
1942 posixfile Extended (posix) file operations.
1943 posixpath Common operations on POSIX pathnames.
1944 pprint Support to pretty-print lists, tuples, & dictionaries
1946 profile Class for profiling python code.
1947 pstats Class for printing reports on profiled python code.
1948 pydoc Utility for generating documentation from source files.
1949 pty Pseudo terminal utilities.
1950 pyexpat Interface to the Expay XML parser.
1951 py_compile Routine to "compile" a .py file to a .pyc file.
1952 pyclbr Parse a Python file and retrieve classes and methods.
1953 Queue A multi-producer, multi-consumer queue.
1954 quopri Conversions to/from quoted-printable transport encoding.
1955 rand Don't use unless you want compatibility with C's rand().
1956 random Random variable generators
1957 re Regular Expressions.
1958 repr Redo repr() but with limits on most sizes.
1959 rexec Restricted execution facilities ("safe" exec, eval, etc).
1960 rfc822 RFC-822 message manipulation class.
1961 rlcompleter Word completion for GNU readline 2.0.
1962 robotparser Parse robots.txt files, useful for web spiders.
1963 sched A generally useful event scheduler class.
1964 sets Module for a set datatype.
1965 sgmllib A parser for SGML.
1966 shelve Manage shelves of pickled objects.
1967 shlex Lexical analyzer class for simple shell-like syntaxes.
1968 shutil Utility functions usable in a shell-like program.
1969 SimpleHTTPServer Simple extension to base http class
1970 site Append module search paths for third-party packages to
1972 smtplib SMTP Client class (RFC 821)
1973 sndhdr Several routines that help recognizing sound.
1974 SocketServer Generic socket server classes.
1975 stat Constants and functions for interpreting stat/lstat struct.
1976 statcache Maintain a cache of file stats.
1977 statvfs Constants for interpreting statvfs struct as returned by
1978 os.statvfs()and os.fstatvfs() (if they exist).
1979 string A collection of string operations.
1980 StringIO File-like objects that read/write a string buffer (a fasterC
1981 implementation exists in built-in module: cStringIO).
1982 sunau Stuff to parse Sun and NeXT audio files.
1983 sunaudio Interpret sun audio headers.
1984 symbol Non-terminal symbols of Python grammar (from "graminit.h").
1985 tabnanny,/font> Check Python source for ambiguous indentation.
1986 tarfile Facility for reading and writing to the *nix tarfile format.
1987 telnetlib TELNET client class. Based on RFC 854.
1988 tempfile Temporary file name allocation.
1989 textwrap Object for wrapping and filling text.
1990 threading Proposed new higher-level threading interfaces
1991 threading_api (doc of the threading module)
1992 toaiff Convert "arbitrary" sound files to AIFF files .
1993 token Tokens (from "token.h").
1994 tokenize Compiles a regular expression that recognizes Python tokens.
1995 traceback Format and print Python stack traces.
1996 tty Terminal utilities.
1997 turtle LogoMation-like turtle graphics
1998 types Define names for all type symbols in the std interpreter.
1999 tzparse Parse a timezone specification.
2000 unicodedata Interface to unicode properties.
2001 urllib Open an arbitrary URL.
2002 urlparse Parse URLs according to latest draft of standard.
2003 user Hook to allow user-specified customization code to run.
2004 UserDict A wrapper to allow subclassing of built-in dict class.
2005 UserList A wrapper to allow subclassing of built-in list class.
2006 UserString A wrapper to allow subclassing of built-in string class.
2007 [DEL:util:DEL] [DEL:some useful functions that don't fit elsewhere !!:DEL]
2008 uu UUencode/UUdecode.
2009 unittest Utilities for implementing unit testing.
2010 wave Stuff to parse WAVE files.
2011 weakref Tools for creating and managing weakly referenced objects.
2012 webbrowser Platform independent URL launcher.
2013 [DEL:whatsound: [DEL:Several routines that help recognizing sound files.:DEL]
2015 whichdb Guess which db package to use to open a db file.
2016 xdrlib Implements (a subset of) Sun XDR (eXternal Data
2018 xmllib A parser for XML, using the derived class as static DTD.
2019 xml.dom Classes for processing XML using the Document Object Model.
2020 xml.sax Classes for processing XML using the SAX API.
2021 xmlrpclib Support for remote procedure calls using XML.
2022 zipfile Read & write PK zipped files.
2023 [DEL:zmod:DEL] [DEL:Demonstration of abstruse mathematical concepts.:DEL]
2029 sys Interpreter state vars and functions
2030 __built-in__ Access to all built-in python identifiers
2031 __main__ Scope of the interpreters main program, script or stdin
2032 array Obj efficiently representing arrays of basic values
2033 math Math functions of C standard
2034 time Time-related functions (also the newer datetime module)
2035 marshal Read and write some python values in binary format
2036 struct Convert between python values and C structs
2040 getopt Parse cmd line args in sys.argv. A la UNIX 'getopt'.
2041 os A more portable interface to OS dependent functionality
2042 re Functions useful for working with regular expressions
2043 string Useful string and characters functions and exceptions
2044 random Mersenne Twister pseudo-random number generator
2045 thread Low-level primitives for working with process threads
2046 threading idem, new recommanded interface.
2050 dbm Interface to Unix ndbm database library
2051 grp Interface to Unix group database
2052 posix OS functionality standardized by C and POSIX standards
2053 posixpath POSIX pathname functions
2054 pwd Access to the Unix password database
2055 select Access to Unix select multiplex file synchronization
2056 socket Access to BSD socket interface
2058 * Tk User-interface Toolkit *
2060 tkinter Main interface to Tk
2064 audioop Useful operations on sound fragments
2065 imageop Useful operations on images
2066 jpeg Access to jpeg image compressor and decompressor
2067 rgbimg Access SGI imglib image files
2069 * Cryptographic Extensions *
2071 md5 Interface to RSA's MD5 message digest algorithm
2072 sha Interface to the SHA message digest algorithm
2073 HMAC Keyed-Hashing for Message Authentication -- RFC 2104.
2075 * Stdwin * Standard Window System
2077 stdwin Standard Window System interface
2078 stdwinevents Stdwin event, command, and selection constants
2079 rect Rectangle manipulation operations
2081 * SGI IRIX * (4 & 5)
2083 al SGI audio facilities
2085 fl Interface to FORMS library
2087 flp Functions for form designer
2088 fm Access to font manager library
2089 gl Access to graphics library
2091 DEVICE More constants for gl
2092 imgfile Imglib image file interface
2096 sunaudiodev Access to sun audio interface
2099 Workspace exploration and idiom hints
2101 dir(<module>) list functions, variables in <module>
2102 dir() get object keys, defaults to local name space
2103 if __name__ == '__main__': main() invoke main if running as script
2104 map(None, lst1, lst2, ...) merge lists
2105 b = a[:] create copy of seq structure
2106 _ in interactive mode, is last value printed
2114 Python Mode for Emacs
2116 (Not revised, possibly not up to date)
2117 Type C-c ? when in python-mode for extensive help.
2119 Primarily for entering new code:
2120 TAB indent line appropriately
2121 LFD insert newline, then indent
2122 DEL reduce indentation, or delete single character
2123 Primarily for reindenting existing code:
2124 C-c : guess py-indent-offset from file content; change locally
2125 C-u C-c : ditto, but change globally
2126 C-c TAB reindent region to match its context
2127 C-c < shift region left by py-indent-offset
2128 C-c > shift region right by py-indent-offset
2129 MARKING & MANIPULATING REGIONS OF CODE
2130 C-c C-b mark block of lines
2131 M-C-h mark smallest enclosing def
2132 C-u M-C-h mark smallest enclosing class
2133 C-c # comment out region of code
2134 C-u C-c # uncomment region of code
2136 C-c C-p move to statement preceding point
2137 C-c C-n move to statement following point
2138 C-c C-u move up to start of current block
2139 M-C-a move to start of def
2140 C-u M-C-a move to start of class
2141 M-C-e move to end of def
2142 C-u M-C-e move to end of class
2143 EXECUTING PYTHON CODE
2144 C-c C-c sends the entire buffer to the Python interpreter
2145 C-c | sends the current region
2146 C-c ! starts a Python interpreter window; this will be used by
2147 subsequent C-c C-c or C-c | commands
2148 C-c C-w runs PyChecker
2151 py-indent-offset indentation increment
2152 py-block-comment-prefix comment string used by py-comment-region
2153 py-python-command shell command to invoke Python interpreter
2154 py-scroll-process-buffer t means always scroll Python process buffer
2155 py-temp-directory directory used for temp files (if needed)
2156 py-beep-if-tab-change ring the bell if tab-width is changed
2161 (Not revised, possibly not up to date, see 1.5.2 Library Ref section 9.1; in 1.5.2, you may also use debugger integrated in IDLE)
2165 import pdb (it's a module written in Python)
2166 -- defines functions :
2167 run(statement[,globals[, locals]])
2168 -- execute statement string under debugger control, with optional
2169 global & local environment.
2170 runeval(expression[,globals[, locals]])
2171 -- same as run, but evaluate expression and return value.
2172 runcall(function[, argument, ...])
2173 -- run function object with given arg(s)
2174 pm() -- run postmortem on last exception (like debugging a core file)
2176 -- run postmortem on traceback object <t>
2178 -- defines class Pdb :
2179 use Pdb to create reusable debugger objects. Object
2180 preserves state (i.e. break points) between calls.
2182 runs until a breakpoint hit, exception, or end of program
2183 If exception, variable '__exception__' holds (exception,value).
2188 brief reminder of commands
2190 if <arg> numeric, break at line <arg> in current file
2191 if <arg> is function object, break on entry to fcn <arg>
2192 if no arg, list breakpoints
2194 if <arg> numeric, clear breakpoint at <arg> in current file
2195 if no arg, clear all breakpoints after confirmation
2197 print current call stack
2199 move up one stack frame (to top-level caller)
2201 move down one stack frame
2203 advance one line in the program, stepping into calls
2205 advance one line, stepping over calls
2207 continue execution until current function returns
2208 (return value is saved in variable "__return__", which
2209 can be printed or manipulated from debugger)
2211 continue until next breakpoint
2213 Set the next line that will be executed
2215 print args to current function
2217 prints return value from last function that returned
2219 prints value of <arg> in current stack frame
2220 l, list [<first> [, <last>]]
2221 List source code for the current file.
2222 Without arguments, list 11 lines around the current line
2223 or continue the previous listing.
2224 With one argument, list 11 lines starting at that line.
2225 With two arguments, list the given range;
2226 if the second argument is less than the first, it is a count.
2228 prints type of <arg>
2230 executes rest of line as a Python statement in the current stack frame
2232 immediately stop execution and leave debugger
2234 executes last command again
2235 Any input debugger doesn't recognize as a command is assumed to be a
2236 Python statement to execute in the current stack frame, the same way
2237 the exclamation mark ("!") command does.
2242 Python 1.0.3 (Sep 26 1994)
2243 Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
2246 Traceback (innermost last):
2247 File "<stdin>", line 1
2248 File "./rm.py", line 7
2250 File "./rm.py", line 2
2252 ZeroDivisionError: integer division or modulo
2255 > ./rm.py(2)div: return a / r
2269 >>> pdb.runcall(rm.run)
2274 Breakpoints are stored as filename, line number tuples. If a module is reloaded
2275 after editing, any remembered breakpoints are likely to be wrong.
2277 Always single-steps through top-most stack frame. That is, "c" acts like "n".