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 -m mod run library module as a script (terminates option list
45 -O optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)
46 -OO remove doc-strings in addition to the -O optimizations
47 -Q arg division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
48 -S Don't perform 'import site' on initialization
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,
218 x is y x is not y membership
220 not x boolean negation
223 Lowest lambda args: expr anonymous function
225 Alternate names are defined in module operator (e.g. __add__ and add for +)
226 Most operators are overridable.
228 Many binary operators also support augmented assignment:
229 x += 1 # Same as x = x + 1
232 Basic Types and Their Operations
234 Comparisons (defined between *any* types)
237 Comparison Meaning Notes
238 < strictly less than (1)
239 <= less than or equal to
240 > strictly greater than
241 >= greater than or equal to
244 is object identity (2)
245 is not negated object identity (2)
248 Comparison behavior can be overridden for a given class by defining special
250 The above comparisons return True or False which are of type bool
251 (a subclass of int) and behave exactly as 1 or 0 except for their type and
252 that they print as True or False instead of 1 or 0.
253 (1) X < Y < Z < W has expected meaning, unlike C
254 (2) Compare object identities (i.e. id(object)), not object values.
256 Boolean values and operators
258 Boolean values and operators
259 Value or Operator Returns Notes
260 None, numeric zeros, empty sequences and False
262 all other values True
263 not x True if x is False, else
265 x or y if x is False then y, else (1)
267 x and y if x is False then x, else (1)
271 Truth testing behavior can be overridden for a given class by defining
272 special method __bool__.
273 (1) Evaluate second arg only if necessary to determine outcome.
277 None is used as default return value on functions. Built-in single object
279 Input that evaluates to None does not print when running Python
286 Floats are implemented with C doubles.
287 Integers have unlimited size (only limit is system resources)
289 Operators on all numeric types
291 Operators on all numeric types
293 abs(x) the absolute value of x
294 int(x) x converted to integer
295 float(x) x converted to floating point
298 x + y the sum of x and y
299 x - y difference of x and y
300 x * y product of x and y
301 x / y quotient of x and y
302 x % y remainder of x / y
303 divmod(x, y) the tuple (x/y, x%y)
304 x ** y x to the power y (the same as pow(x, y))
306 Bit operators on integers
310 ~x the bits of x inverted
311 x ^ y bitwise exclusive or of x and y
312 x & y bitwise and of x and y
313 x | y bitwise or of x and y
314 x << n x shifted left by n bits
315 x >> n x shifted right by n bits
319 * represented as a pair of machine-level double precision floating point
321 * The real and imaginary value of a complex number z can be retrieved through
322 the attributes z.real and z.imag.
327 raised on application of arithmetic operation to non-number
329 numeric bounds exceeded
331 raised when zero second argument of div or modulo op
333 raised when a floating point operation fails
335 Operations on all sequence types (lists, tuples, strings)
337 Operations on all sequence types
338 Operation Result Notes
339 x in s True if an item of s is equal to x, else False
340 x not in s False if an item of s is equal to x, else True
341 for x in s: loops over the sequence
342 s + t the concatenation of s and t
343 s * n, n*s n copies of s concatenated
344 s[i] i'th item of s, origin 0 (1)
345 s[i:j] slice of s from i (included) to j (excluded) (1), (2)
347 min(s) smallest item of s
348 max(s) largest item of (s)
349 iter(s) returns an iterator over s. iterators define __iter__ and next()
352 (1) if i or j is negative, the index is relative to the end of the string,
353 ie len(s)+ i or len(s)+j is
354 substituted. But note that -0 is still 0.
355 (2) The slice of s from i to j is defined as the sequence of items with
356 index k such that i <= k < j.
357 If i or j is greater than len(s), use len(s). If i is omitted, use
358 len(s). If i is greater than or
359 equal to j, the slice is empty.
361 Operations on mutable (=modifiable) sequences (lists)
363 Operations on mutable sequences
364 Operation Result Notes
365 s[i] =x item i of s is replaced by x
366 s[i:j] = t slice of s from i to j is replaced by t
367 del s[i:j] same as s[i:j] = []
368 s.append(x) same as s[len(s) : len(s)] = [x]
369 s.count(x) return number of i's for which s[i] == x
370 s.extend(x) same as s[len(s):len(s)]= x
371 s.index(x) return smallest i such that s[i] == x (1)
372 s.insert(i, x) same as s[i:i] = [x] if i >= 0
373 s.pop([i]) same as x = s[i]; del s[i]; return x (4)
374 s.remove(x) same as del s[s.index(x)] (1)
375 s.reverse() reverse the items of s in place (3)
376 s.sort([cmpFct]) sort the items of s in place (2), (3)
379 (1) raise a ValueError exception when x is not found in s (i.e. out of
381 (2) The sort() method takes an optional argument specifying a comparison
382 fct of 2 arguments (list items) which should
383 return -1, 0, or 1 depending on whether the 1st argument is
384 considered smaller than, equal to, or larger than the 2nd
385 argument. Note that this slows the sorting process down considerably.
386 (3) The sort() and reverse() methods modify the list in place for economy
387 of space when sorting or reversing a large list.
388 They don't return the sorted or reversed list to remind you of this
390 (4) [New 1.5.2] The optional argument i defaults to -1, so that by default the last
391 item is removed and returned.
395 Operations on mappings (dictionaries)
397 Operations on mappings
398 Operation Result Notes
399 len(d) the number of items in d
400 d[k] the item of d with key k (1)
401 d[k] = x set d[k] to x
402 del d[k] remove d[k] from d (1)
403 d.clear() remove all items from d
404 d.copy() a shallow copy of d
405 d.get(k,defaultval) the item of d with key k (4)
406 d.has_key(k) True if d has key k, else False
407 d.items() a copy of d's list of (key, item) pairs (2)
408 d.iteritems() an iterator over (key, value) pairs (7)
409 d.iterkeys() an iterator over the keys of d (7)
410 d.itervalues() an iterator over the values of d (7)
411 d.keys() a copy of d's list of keys (2)
412 d1.update(d2) for k, v in d2.items(): d1[k] = v (3)
413 d.values() a copy of d's list of values (2)
414 d.pop(k) remove d[k] and return its value
415 d.popitem() remove and return an arbitrary (6)
417 d.setdefault(k,defaultval) the item of d with key k (5)
420 TypeError is raised if key is not acceptable
421 (1) KeyError is raised if key k is not in the map
422 (2) Keys and values are listed in random order
423 (3) d2 must be of the same type as d1
424 (4) Never raises an exception if k is not in the map, instead it returns
426 defaultVal is optional, when not provided and k is not in the map,
428 (5) Never raises an exception if k is not in the map, instead it returns
429 defaultVal, and adds k to map with value defaultVal. defaultVal is
430 optional. When not provided and k is not in the map, None is returned and
432 (6) Raises a KeyError if the dictionary is emtpy.
433 (7) While iterating over a dictionary, the values may be updated but
434 the keys cannot be changed.
436 Operations on strings
438 Note that these string methods largely (but not completely) supersede the
439 functions available in the string module.
442 Operations on strings
443 Operation Result Notes
444 s.capitalize() return a copy of s with only its first character
446 s.center(width) return a copy of s centered in a string of length width (1)
448 s.count(sub[ return the number of occurrences of substring sub in (2)
449 ,start[,end]]) string s.
450 s.decode(([ return a decoded version of s. (3)
453 s.encode([ return an encoded version of s. Default encoding is the
454 encoding current default string encoding. (3)
456 s.endswith(suffix return true if s ends with the specified suffix, (2)
457 [,start[,end]]) otherwise return False.
458 s.expandtabs([ return a copy of s where all tab characters are (4)
459 tabsize]) expanded using spaces.
460 s.find(sub[,start return the lowest index in s where substring sub is (2)
461 [,end]]) found. Return -1 if sub is not found.
462 s.index(sub[ like find(), but raise ValueError when the substring is (2)
463 ,start[,end]]) not found.
464 s.isalnum() return True if all characters in s are alphanumeric, (5)
466 s.isalpha() return True if all characters in s are alphabetic, (5)
468 s.isdigit() return True if all characters in s are digit (5)
469 characters, False otherwise.
470 s.islower() return True if all characters in s are lowercase, False (6)
472 s.isspace() return True if all characters in s are whitespace (5)
473 characters, False otherwise.
474 s.istitle() return True if string s is a titlecased string, False (7)
476 s.isupper() return True if all characters in s are uppercase, False (6)
478 s.join(seq) return a concatenation of the strings in the sequence
479 seq, separated by 's's.
480 s.ljust(width) return s left justified in a string of length width. (1),
482 s.lower() return a copy of s converted to lowercase.
483 s.lstrip() return a copy of s with leading whitespace removed.
484 s.replace(old, return a copy of s with all occurrences of substring (9)
485 new[, maxsplit]) old replaced by new.
486 s.rfind(sub[ return the highest index in s where substring sub is (2)
487 ,start[,end]]) found. Return -1 if sub is not found.
488 s.rindex(sub[ like rfind(), but raise ValueError when the substring (2)
489 ,start[,end]]) is not found.
490 s.rjust(width) return s right justified in a string of length width. (1),
492 s.rstrip() return a copy of s with trailing whitespace removed.
493 s.split([sep[ return a list of the words in s, using sep as the (10)
494 ,maxsplit]]) delimiter string.
495 s.splitlines([ return a list of the lines in s, breaking at line (11)
496 keepends]) boundaries.
497 s.startswith return true if s starts with the specified prefix,
498 (prefix[,start[ otherwise return false. (2)
500 s.strip() return a copy of s with leading and trailing whitespace
502 s.swapcase() return a copy of s with uppercase characters converted
503 to lowercase and vice versa.
504 return a titlecased copy of s, i.e. words start with
505 s.title() uppercase characters, all remaining cased characters
507 s.translate(table return a copy of s mapped through translation table (12)
508 [,deletechars]) table.
509 s.upper() return a copy of s converted to uppercase.
510 s.zfill(width) return a string padded with zeroes on the left side and
511 sliding a minus sign left if necessary. never truncates.
514 (1) Padding is done using spaces.
515 (2) If optional argument start is supplied, substring s[start:] is
516 processed. If optional arguments start and end are supplied, substring s[start:
518 (3) Optional argument errors may be given to set a different error handling
519 scheme. The default for errors is 'strict', meaning that encoding errors raise
520 a ValueError. Other possible values are 'ignore' and 'replace'.
521 (4) If optional argument tabsize is not given, a tab size of 8 characters
523 (5) Returns false if string s does not contain at least one character.
524 (6) Returns false if string s does not contain at least one cased
526 (7) A titlecased string is a string in which uppercase characters may only
527 follow uncased characters and lowercase characters only cased ones.
528 (8) s is returned if width is less than len(s).
529 (9) If the optional argument maxsplit is given, only the first maxsplit
530 occurrences are replaced.
531 (10) If sep is not specified or None, any whitespace string is a separator.
532 If maxsplit is given, at most maxsplit splits are done.
533 (11) Line breaks are not included in the resulting list unless keepends is
535 (12) table must be a string of length 256. All characters occurring in the
536 optional argument deletechars are removed prior to translation.
538 String formatting with the % operator
540 formatString % args--> evaluates to a string
542 * formatString uses C printf format codes : %, c, s, i, d, u, o, x, X, e, E,
543 f, g, G, r (details below).
544 * Width and precision may be a * to specify that an integer argument gives
545 the actual width or precision.
546 * The flag characters -, +, blank, # and 0 are understood. (details below)
547 * %s will convert any type argument to string (uses str() function)
548 * args may be a single arg or a tuple of args
550 '%s has %03d quote types.' % ('Python', 2) # => 'Python has 002 quote types.'
552 * Right-hand-side can also be a mapping:
554 a = '%(lang)s has %(c)03d quote types.' % {'c':2, 'lang':'Python}
555 (vars() function very handy to use on right-hand-side.)
559 d Signed integer decimal.
560 i Signed integer decimal.
563 x Unsigned hexadecimal (lowercase).
564 X Unsigned hexadecimal (uppercase).
565 e Floating point exponential format (lowercase).
566 E Floating point exponential format (uppercase).
567 f Floating point decimal format.
568 F Floating point decimal format.
569 g Same as "e" if exponent is greater than -4 or less than precision,
571 G Same as "E" if exponent is greater than -4 or less than precision,
573 c Single character (accepts integer or single character string).
574 r String (converts any python object using repr()).
575 s String (converts any python object using str()).
576 % No argument is converted, results in a "%" character in the result.
577 (The complete specification is %%.)
579 Conversion flag characters
581 # The value conversion will use the ``alternate form''.
582 0 The conversion will be zero padded.
583 - The converted value is left adjusted (overrides "-").
584 (a space) A blank should be left before a positive number (or empty
585 string) produced by a signed conversion.
586 + A sign character ("+" or "-") will precede the conversion (overrides a
591 Created with built-in function open; may be created by other modules' functions
594 Operators on file objects
598 f.close() Close file f.
599 f.fileno() Get fileno (fd) for file f.
600 f.flush() Flush file f's internal buffer.
601 f.isatty() True if file f is connected to a tty-like dev, else False.
602 f.read([size]) Read at most size bytes from file f and return as a string
603 object. If size omitted, read to EOF.
604 f.readline() Read one entire line from file f.
605 f.readlines() Read until EOF with readline() and return list of lines read.
606 Set file f's position, like "stdio's fseek()".
607 f.seek(offset[, whence == 0 then use absolute indexing.
608 whence=0]) whence == 1 then offset relative to current pos.
609 whence == 2 then offset relative to file end.
610 f.tell() Return file f's current position (byte offset).
611 f.write(str) Write string to file f.
612 f.writelines(list Write list of strings to file f.
618 End-of-file hit when reading (may be raised many times, e.g. if f is a
621 Other I/O-related I/O operation failure.
623 OS system call failed.
628 -See manuals for more details -
631 + Class instance objects
632 + Type objects (see module: types)
633 + File objects (see above)
637 o User-defined (written in Python):
638 # User-defined Function objects
639 # User-defined Method objects
640 o Built-in (written in C):
641 # Built-in Function objects
642 # Built-in Method objects
644 o Code objects (byte-compile executable Python code: bytecode)
645 o Frame objects (execution frames)
646 o Traceback objects (stack trace of an exception)
651 pass -- Null statement
652 del name[,name]* -- Unbind name(s) from object. Object will be indirectly
653 (and automatically) deleted only if no longer referenced.
654 print [>> fileobject,] [s1 [, s2 ]* [,]
655 -- Writes to sys.stdout, or to fileobject if supplied.
656 Puts spaces between arguments. Puts newline at end
657 unless statement ends with comma.
658 Print is not required when running interactively,
659 simply typing an expression will print its value,
660 unless the value is None.
661 exec x [in globals [,locals]]
662 -- Executes x in namespaces provided. Defaults
663 to current namespaces. x can be a string, file
664 object or a function object.
665 callable(value,... [id=value], [*args], [**kw])
666 -- Call function callable with parameters. Parameters can
667 be passed by name or be omitted if function
668 defines default values. E.g. if callable is defined as
669 "def callable(p1=1, p2=2)"
670 "callable()" <=> "callable(1, 2)"
671 "callable(10)" <=> "callable(10, 2)"
672 "callable(p2=99)" <=> "callable(1, 99)"
673 *args is a tuple of positional arguments.
674 **kw is a dictionary of keyword arguments.
679 Operator Result Notes
680 a = b Basic assignment - assign object b to label a (1)
681 a += b Roughly equivalent to a = a + b (2)
682 a -= b Roughly equivalent to a = a - b (2)
683 a *= b Roughly equivalent to a = a * b (2)
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)
694 (1) Can unpack tuples, lists, and strings.
695 first, second = a[0:2]; [f, s] = range(2); c1,c2,c3='abc'
696 Tip: x,y = y,x swaps x and y.
697 (2) Not exactly equivalent - a is evaluated only once. Also, where
698 possible, operation performed in-place - a is modified rather than
704 [elif condition: suite]*
705 [else: suite] -- usual if/else_if/else statement
706 while condition: suite
708 -- usual while statement. "else" suite is executed
709 after loop exits, unless the loop is exited with
711 for element in sequence: suite
713 -- iterates over sequence, assigning each element to element.
714 Use built-in range function to iterate a number of times.
715 "else" suite executed at end unless loop exited
717 break -- immediately exits "for" or "while" loop
718 continue -- immediately does next iteration of "for" or "while" loop
719 return [result] -- Exits from function (or method) and returns result (use a tuple to
720 return more than one value). If no result given, then returns None.
721 yield result -- Freezes the execution frame of a generator and returns the result
722 to the iterator's .__next__() method. Upon the next call to __next__(),
723 resumes execution at the frozen point with all of the local variables
728 assert expr[, message]
729 -- expr is evaluated. if false, raises exception AssertionError
730 with message. Inhibited if __debug__ is 0.
732 [except [exception [, value]: suite2]+
734 -- statements in suite1 are executed. If an exception occurs, look
735 in "except" clauses for matching <exception>. If matches or bare
736 "except" execute suite of that clause. If no exception happens
737 suite in "else" clause is executed after suite1.
738 If exception has a value, it is put in value.
739 exception can also be tuple of exceptions, e.g.
740 "except (KeyError, NameError), val: print val"
743 -- statements in suite1 are executed. If no
744 exception, execute suite2 (even if suite1 is
745 exited with a "return", "break" or "continue"
746 statement). If exception did occur, executes
747 suite2 and then immediately reraises exception.
748 raise exception [,value [, traceback]]
749 -- raises exception with optional value
750 value. Arg traceback specifies a traceback object to
751 use when printing the exception's backtrace.
752 raise -- a raise statement without arguments re-raises
753 the last exception raised in the current function
754 An exception is either a string (object) or a class instance.
755 Can create a new one simply by creating a new string:
757 my_exception = 'You did something wrong'
760 raise my_exception, bad
761 except my_exception, value:
764 Exception classes must be derived from the predefined class: Exception, e.g.:
765 class text_exception(Exception): pass
768 raise text_exception()
769 # This is a shorthand for the form
770 # "raise <class>, <instance>"
773 # This will be printed because
774 # text_exception is a subclass of Exception
775 When an error message is printed for an unhandled exception which is a
776 class, the class name is printed, then a colon and a space, and
777 finally the instance converted to a string using the built-in function
779 All built-in exception classes derives from Exception, itself
780 derived from BaseException.
782 Name Space Statements
784 [1.51: On Mac & Windows, the case of module file names must now match the case
786 in the import statement]
787 Packages (>1.5): a package is a name space which maps to a directory including
788 module(s) and the special initialization module '__init__.py'
789 (possibly empty). Packages/dirs can be nested. You address a
790 module's symbol via '[package.[package...]module.symbol's.
791 import module1 [as name1] [, module2]*
792 -- imports modules. Members of module must be
793 referred to by qualifying with [package.]module name:
794 "import sys; print sys.argv:"
795 "import package1.subpackage.module; package1.subpackage.module.foo()"
796 module1 renamed as name1, if supplied.
797 from module import name1 [as othername1] [, name2]*
798 -- imports names from module module in current namespace.
799 "from sys import argv; print argv"
800 "from package1 import module; module.foo()"
801 "from package1.module import foo; foo()"
802 name1 renamed as othername1, if supplied.
804 -- imports all names in module, except those starting with "_";
805 *to be used sparsely, beware of name clashes* :
806 "from sys import *; print argv"
807 "from package.module import *; print x'
808 NB: "from package import *" only imports the symbols defined
809 in the package's __init__.py file, not those in the
811 global name1 [, name2]*
812 -- names are from global scope (usually meaning from module)
813 rather than local (usually meaning only in function).
814 -- E.g. in fct without "global" statements, assuming
815 "a" is name that hasn't been used in fct or module
817 -Try to read from "a" -> NameError
818 -Try to write to "a" -> creates "a" local to fcn
819 -If "a" not defined in fct, but is in module, then
820 -Try to read from "a", gets value from module
821 -Try to write to "a", creates "a" local to fct
822 But note "a[0]=3" starts with search for "a",
823 will use to global "a" if no local "a".
827 def func_id ([param_list]): suite
828 -- Creates a function object & binds it to name func_id.
830 param_list ::= [id [, id]*]
831 id ::= value | id = value | *id | **id
832 [Args are passed by value.Thus only args representing a mutable object
833 can be modified (are inout parameters). Use a tuple to return more than
837 def test (p1, p2 = 1+1, *rest, **keywords):
838 -- Parameters with "=" have default value (v is
839 evaluated when function defined).
840 If list has "*id" then id is assigned a tuple of
841 all remaining args passed to function (like C vararg)
842 If list has "**id" then id is assigned a dictionary of
843 all extra arguments passed as keywords.
847 class <class_id> [(<super_class1> [,<super_class2>]*)]: <suite>
848 -- Creates a class object and assigns it name <class_id>
849 <suite> may contain local "defs" of class methods and
850 assignments to class attributes.
852 class my_class (class1, class_list[3]): ...
853 Creates a class object inheriting from both "class1" and whatever
854 class object "class_list[3]" evaluates to. Assigns new
855 class object to name "my_class".
856 - First arg to class methods is always instance object, called 'self'
858 - Special method __init__() is called when instance is created.
859 - Special method __del__() called when no more reference to object.
860 - Create instance by "calling" class object, possibly with arg
861 (thus instance=apply(aClassObject, args...) creates an instance!)
862 - In current implementation, can't subclass off built-in
863 classes. But can "wrap" them, see UserDict & UserList modules,
864 and see __getattr__() below.
867 def __init__(self, name): self.name = name
868 def print_name(self): print "I'm", self.name
869 def call_parent(self): c_parent.print_name(self)
873 instance.print_name()
875 Call parent's super class by accessing parent's method
876 directly and passing "self" explicitly (see "call_parent"
878 Many other special methods available for implementing
879 arithmetic operators, sequence, mapping indexing, etc.
881 Documentation Strings
883 Modules, classes and functions may be documented by placing a string literal by
884 itself as the first statement in the suite. The documentation can be retrieved
885 by getting the '__doc__' attribute from the module, class or function.
890 "A description of the constructor"
892 Then c.__doc__ == "A description of C".
893 Then c.__init__.__doc__ == "A description of the constructor".
897 lambda [param_list]: returnedExpr
898 -- Creates an anonymous function. returnedExpr must be
899 an expression, not a statement (e.g., not "if xx:...",
900 "print xxx", etc.) and thus can't contain newlines.
901 Used mostly for filter(), map() functions, and GUI callbacks..
903 result = [expression for item1 in sequence1 [if condition1]
904 [for item2 in sequence2 ... for itemN in sequenceN]
908 for item1 in sequence1:
909 for item2 in sequence2:
911 for itemN in sequenceN:
912 if (condition1) and furthur conditions:
913 result.append(expression)
921 __import__(name[, Imports module within the given context (see lib ref for
922 globals[, locals[, more details)
924 abs(x) Return the absolute value of number x.
925 bool(x) Returns True when the argument x is true and False otherwise.
926 buffer(obj) Creates a buffer reference to an object.
927 chr(i) Returns one-character string whose ASCII code isinteger i
928 classmethod(f) Converts a function f, into a method with the class as the
929 first argument. Useful for creating alternative constructors.
930 cmp(x,y) Returns negative, 0, positive if x <, ==, > to y
931 compile(string, from which the code was read, or eg. '<string>'if not read
932 filename, kind) from file.kind can be 'eval' if string is a single stmt, or
933 'single' which prints the output of expression statements
934 that evaluate to something else than None, or be 'exec'.
935 complex(real[, Builds a complex object (can also be done using J or j
936 image]) suffix,e.g. 1+3J)
937 delattr(obj, name) deletes attribute named name of object obj <=> del obj.name
938 If no args, returns the list of names in current
939 dict([items]) Create a new dictionary from the specified item list.
940 dir([object]) local symbol table. With a module, class or class
941 instance object as arg, returns list of names in its attr.
943 divmod(a,b) Returns tuple of (a/b, a%b)
944 enumerate(seq) Return a iterator giving: (0, seq[0]), (1, seq[1]), ...
945 eval(s[, globals[, Eval string s in (optional) globals, locals contexts.s must
946 locals]]) have no NUL's or newlines. s can also be acode object.
947 Example: x = 1; incr_x = eval('x + 1')
948 filter(function, Constructs a list from those elements of sequence for which
949 sequence) function returns true. function takes one parameter.
950 float(x) Converts a number or a string to floating point.
951 getattr(object, [<default> arg added in 1.5.2]Gets attribute called name
952 name[, default])) from object,e.g. getattr(x, 'f') <=> x.f). If not found,
953 raises AttributeError or returns default if specified.
954 globals() Returns a dictionary containing current global variables.
955 hasattr(object, Returns true if object has attr called name.
957 hash(object) Returns the hash value of the object (if it has one)
958 help(f) Display documentation on object f.
959 hex(x) Converts a number x to a hexadecimal string.
960 id(object) Returns a unique 'identity' integer for an object.
961 int(x[, base]) base paramenter specifies base from which to convert string
963 isinstance(obj, Returns true if obj is an instance of class. Ifissubclass
964 class) (A,B) then isinstance(x,A) => isinstance(x,B)
965 issubclass(class1, returns true if class1 is derived from class2
967 Returns the length (the number of items) of an object
968 iter(collection) Returns an iterator over the collection.
969 len(obj) (sequence, dictionary, or instance of class implementing
971 list(sequence) Converts sequence into a list. If already a list,returns a
973 locals() Returns a dictionary containing current local variables.
974 Applies function to every item of list and returns a listof
975 map(function, list, the results. If additional arguments are passed,function
976 ...) must take that many arguments and it is givento function on
978 max(seq) Returns the largest item of the non-empty sequence seq.
979 min(seq) Returns the smallest item of a non-empty sequence seq.
980 oct(x) Converts a number to an octal string.
981 open(filename [, Returns a new file object. First two args are same asthose
982 mode='r', [bufsize= for C's "stdio open" function. bufsize is 0for unbuffered,
983 implementation 1 for line-buffered, negative forsys-default, all else, of
984 dependent]]) (about) given size.
985 ord(c) Returns integer ASCII value of c (a string of len 1). Works
987 object() Create a base type. Used as a superclass for new-style objects.
988 open(name Open a file.
991 pow(x, y [, z]) Returns x to power y [modulo z]. See also ** operator.
992 property() Created a property with access controlled by functions.
993 range(start [,end Returns list of ints from >= start and < end. With 1 arg,
994 [, step]]) list from 0..arg-1. With 2 args, list from start..end-1.
995 With 3 args, list from start up to end by step
997 repr(object) Returns a string containing a printable and if possible
998 evaluable representation of an object.
999 Class redefinable (__repr__). See also str().
1000 round(x, n=0) Returns the floating point value x rounded to n digitsafter
1002 setattr(object, This is the counterpart of getattr(). setattr(o, 'foobar',
1003 name, value) 3) <=> o.foobar = 3. Creates attribute if it doesn't exist!
1004 slice([start,] stop Returns a slice object representing a range, with R/
1005 [, step]) O attributes: start, stop, step.
1006 staticmethod() Convert a function to method with no self or class
1007 argument. Useful for methods associated with a class that
1008 do not need access to an object's internal state.
1009 str(object) Returns a string containing a nicely
1010 printable representation of an object. Class overridable
1011 (__str__).See also repr().
1012 super(type) Create an unbound super object. Used to call cooperative
1014 sum(sequence, Add the values in the sequence and return the sum.
1016 tuple(sequence) Creates a tuple with same elements as sequence. If already
1017 a tuple, return itself (not a copy).
1018 Returns a type object [see module types] representing
1019 thetype of obj. Example: import typesif type(x) ==
1020 type(obj) types.StringType: print 'It is a string'NB: it is
1021 recommanded to use the following form:if isinstance(x,
1022 types.StringType): etc...
1024 unicode(string[, Creates a Unicode string from a 8-bit string, using
1025 encoding[, error thegiven encoding name and error treatment ('strict',
1026 ]]]) 'ignore',or 'replace'}.
1027 Without arguments, returns a dictionary correspondingto the
1028 current local symbol table. With a module,class or class
1029 vars([object]) instance object as argumentreturns a dictionary
1030 corresponding to the object'ssymbol table. Useful with "%"
1031 formatting operator.
1032 zip(seq1[, seq2, Returns an iterator of tuples where each tuple contains
1033 ...]) the nth element of each of the argument sequences.
1040 Root class for all exceptions
1044 Signal the end from iterator.__next__()
1046 Base class for OverflowError, ZeroDivisionError,
1049 When a floating point operation fails.
1051 On excessively large arithmetic operation
1053 On division or modulo operation with 0 as 2nd arg
1055 When an assert statement fails.
1057 On attribute reference or assignment failure
1058 EnvironmentError [new in 1.5.2]
1059 On error outside Python; error arg tuple is (errno, errMsg...)
1060 IOError [changed in 1.5.2]
1061 I/O-related operation failure
1062 OSError [new in 1.5.2]
1063 used by the os module's os.error exception.
1065 Immediate end-of-file hit by input() or raw_input()
1067 On failure of `import' to find module or name
1069 On user entry of the interrupt key (often `Control-C')
1071 base class for IndexError, KeyError
1073 On out-of-range sequence subscript
1075 On reference to a non-existent mapping (dict) key
1077 On recoverable memory exhaustion
1079 On failure to find a local or global (unqualified) name
1081 Obsolete catch-all; define a suitable error instead
1082 NotImplementedError [new in 1.5.2]
1083 On method not implemented
1085 On parser encountering a syntax error
1087 On parser encountering an indentation syntax error
1089 On parser encountering an indentation syntax error
1091 On non-fatal interpreter error - bug - report it
1093 On passing inappropriate type to built-in op or func
1095 On arg error not covered by TypeError or more precise
1099 PendingDeprecationWarning
1106 Standard methods & operators redefinition in classes
1108 Standard methods & operators map to special '__methods__' and thus may be
1109 redefined (mostly in user-defined classes), e.g.:
1111 def __init__(self, v): self.value = v
1112 def __add__(self, r): return self.value + r
1113 a = x(3) # sort of like calling x.__init__(a, 3)
1114 a + 4 # is equivalent to a.__add__(4)
1116 Special methods for any class
1119 __init__(s, args) instance initialization (on construction)
1120 __del__(s) called on object demise (refcount becomes 0)
1121 __repr__(s) repr() and `...` conversions
1122 __str__(s) str() and 'print' statement
1123 __cmp__(s, o) Compares s to o and returns <0, 0, or >0.
1124 Implements >, <, == etc...
1125 __hash__(s) Compute a 32 bit hash code; hash() and dictionary ops
1126 __bool__(s) Returns False or True for truth value testing
1127 __getattr__(s, name) called when attr lookup doesn't find <name>
1128 __setattr__(s, name, val) called when setting an attr
1129 (inside, don't use "self.name = value"
1130 use "self.__dict__[name] = val")
1131 __delattr__(s, name) called to delete attr <name>
1132 __call__(self, *args) called when an instance is called as function.
1136 See list in the operator module. Operator function names are provided with
1137 2 variants, with or without
1138 ading & trailing '__' (eg. __add__ or add).
1140 Numeric operations special methods
1143 s+o = __add__(s,o) s-o = __sub__(s,o)
1144 s*o = __mul__(s,o) s/o = __div__(s,o)
1145 s%o = __mod__(s,o) divmod(s,o) = __divmod__(s,o)
1148 s^o = __xor__(s,o) s|o = __or__(s,o)
1149 s<<o = __lshift__(s,o) s>>o = __rshift__(s,o)
1150 bool(s) = __bool__(s) (used in boolean testing)
1151 -s = __neg__(s) +s = __pos__(s)
1152 abs(s) = __abs__(s) ~s = __invert__(s) (bitwise)
1153 s+=o = __iadd__(s,o) s-=o = __isub__(s,o)
1154 s*=o = __imul__(s,o) s/=o = __idiv__(s,o)
1155 s%=o = __imod__(s,o)
1156 s**=o = __ipow__(s,o)
1157 s&=o = __iand__(s,o)
1158 s^=o = __ixor__(s,o) s|=o = __ior__(s,o)
1159 s<<=o = __ilshift__(s,o) s>>=o = __irshift__(s,o)
1162 float(s) = __float__(s) complex(s) = __complex__(s)
1163 oct(s) = __oct__(s) hex(s) = __hex__(s)
1164 Right-hand-side equivalents for all binary operators exist;
1165 are called when class instance is on r-h-s of operator:
1166 a + 3 calls __add__(a, 3)
1167 3 + a calls __radd__(a, 3)
1169 All seqs and maps, general operations plus:
1170 (s: self, i: index or key)
1172 len(s) = __len__(s) length of object, >= 0. Length 0 == false
1173 s[i] = __getitem__(s,i) Element at index/key i, origin 0
1175 Sequences, general methods, plus:
1176 s[i]=v = __setitem__(s,i,v)
1177 del s[i] = __delitem__(s,i)
1178 s[i:j] = __getslice__(s,i,j)
1179 s[i:j]=seq = __setslice__(s,i,j,seq)
1180 del s[i:j] = __delslice__(s,i,j) == s[i:j] = []
1181 seq * n = __repeat__(seq, n)
1182 s1 + s2 = __concat__(s1, s2)
1183 i in s = __contains__(s, i)
1184 Mappings, general methods, plus
1185 hash(s) = __hash__(s) - hash value for dictionary references
1186 s[k]=v = __setitem__(s,k,v)
1187 del s[k] = __delitem__(s,k)
1189 Special informative state attributes for some types:
1192 __doc__ (string/None, R/O): doc string (<=> __dict__['__doc__'])
1193 __name__(string, R/O): module name (also in __dict__['__name__'])
1194 __dict__ (dict, R/O): module's name space
1195 __file__(string/undefined, R/O): pathname of .pyc, .pyo or .pyd (undef for
1196 modules statically linked to the interpreter)
1198 Classes: [in bold: writable since 1.5.2]
1199 __doc__ (string/None, R/W): doc string (<=> __dict__['__doc__'])
1200 __module__ is the module name in which the class was defined
1201 __name__(string, R/W): class name (also in __dict__['__name__'])
1202 __bases__ (tuple, R/W): parent classes
1203 __dict__ (dict, R/W): attributes (class name space)
1206 __class__ (class, R/W): instance's class
1207 __dict__ (dict, R/W): attributes
1209 User-defined functions: [bold: writable since 1.5.2]
1210 __doc__ (string/None, R/W): doc string
1211 __name__(string, R/O): function name
1212 func_doc (R/W): same as __doc__
1213 func_name (R/O): same as __name__
1214 func_defaults (tuple/None, R/W): default args values if any
1215 func_code (code, R/W): code object representing the compiled function body
1216 func_globals (dict, R/O): ref to dictionary of func global variables
1217 func_dict (dict, R/W): same as __dict__ contains the namespace supporting
1218 arbitrary function attributes
1219 func_closure (R/O): None or a tuple of cells that contain bindings
1220 for the function's free variables.
1223 User-defined Methods:
1224 __doc__ (string/None, R/O): doc string
1225 __name__(string, R/O): method name (same as im_func.__name__)
1226 im_class (class, R/O): class defining the method (may be a base class)
1227 im_self (instance/None, R/O): target instance object (None if unbound)
1228 im_func (function, R/O): function object
1230 Built-in Functions & methods:
1231 __doc__ (string/None, R/O): doc string
1232 __name__ (string, R/O): function name
1233 __self__ : [methods only] target object
1236 co_name (string, R/O): function name
1237 co_argcount (int, R/0): number of positional args
1238 co_nlocals (int, R/O): number of local vars (including args)
1239 co_varnames (tuple, R/O): names of local vars (starting with args)
1240 co_cellvars (tuple, R/O)) the names of local variables referenced by
1242 co_freevars (tuple, R/O)) names of free variables
1243 co_code (string, R/O): sequence of bytecode instructions
1244 co_consts (tuple, R/O): litterals used by the bytecode, 1st one is
1246 co_names (tuple, R/O): names used by the bytecode
1247 co_filename (string, R/O): filename from which the code was compiled
1248 co_firstlineno (int, R/O): first line number of the function
1249 co_lnotab (string, R/O): string encoding bytecode offsets to line numbers.
1250 co_stacksize (int, R/O): required stack size (including local vars)
1251 co_flags (int, R/O): flags for the interpreter
1252 bit 2 set if fct uses "*arg" syntax
1253 bit 3 set if fct uses '**keywords' syntax
1255 f_back (frame/None, R/O): previous stack frame (toward the caller)
1256 f_code (code, R/O): code object being executed in this frame
1257 f_locals (dict, R/O): local vars
1258 f_globals (dict, R/O): global vars
1259 f_builtins (dict, R/O): built-in (intrinsic) names
1260 f_restricted (int, R/O): flag indicating whether fct is executed in
1262 f_lineno (int, R/O): current line number
1263 f_lasti (int, R/O): precise instruction (index into bytecode)
1264 f_trace (function/None, R/W): debug hook called at start of each source line
1266 tb_next (frame/None, R/O): next level in stack trace (toward the frame where
1267 the exception occurred)
1268 tb_frame (frame, R/O): execution frame of the current level
1269 tb_lineno (int, R/O): line number where the exception occurred
1270 tb_lasti (int, R/O): precise instruction (index into bytecode)
1273 start (any/None, R/O): lowerbound
1274 stop (any/None, R/O): upperbound
1275 step (any/None, R/O): step value
1278 real (float, R/O): real part
1279 imag (float, R/O): imaginary part
1288 argv The list of command line arguments passed to aPython
1289 script. sys.argv[0] is the script name.
1290 builtin_module_names A list of strings giving the names of all moduleswritten
1291 in C that are linked into this interpreter.
1292 check_interval How often to check for thread switches or signals(measured
1293 in number of virtual machine instructions)
1294 last_type, Set only when an exception not handled andinterpreter
1295 last_value, prints an error. Used by debuggers.
1297 maxint maximum positive value for integers
1298 modules Dictionary of modules that have already been loaded.
1299 path Search path for external modules. Can be modifiedby
1300 program. sys.path[0] == dir of script executing
1301 platform The current platform, e.g. "sunos5", "win32"
1302 ps1, ps2 prompts to use in interactive mode.
1303 File objects used for I/O. One can redirect byassigning a
1304 stdin, stdout, new file object to them (or any object:.with a method
1305 stderr write(string) for stdout/stderr,.with a method readline()
1307 version string containing version info about Python interpreter.
1308 (and also: copyright, dllhandle, exec_prefix, prefix)
1309 version_info tuple containing Python version info - (major, minor,
1310 micro, level, serial).
1314 exit(n) Exits with status n. Raises SystemExit exception.(Hence can
1315 be caught and ignored by program)
1316 getrefcount(object Returns the reference count of the object. Generally one
1317 ) higher than you might expect, because of object arg temp
1319 setcheckinterval( Sets the interpreter's thread switching interval (in number
1320 interval) of virtual code instructions, default:100).
1321 settrace(func) Sets a trace function: called before each line ofcode is
1323 setprofile(func) Sets a profile function for performance profiling.
1324 Info on exception currently being handled; this is atuple
1325 (exc_type, exc_value, exc_traceback).Warning: assigning the
1326 exc_info() traceback return value to a local variable in a
1327 function handling an exception will cause a circular
1329 setdefaultencoding Change default Unicode encoding - defaults to 7-bit ASCII.
1331 getrecursionlimit Retrieve maximum recursion depth.
1333 setrecursionlimit Set maximum recursion depth. (Defaults to 1000.)
1339 "synonym" for whatever O/S-specific module is proper for current environment.
1340 this module uses posix whenever possible.
1341 (see also M.A. Lemburg's utility http://www.lemburg.com/files/python/
1346 name name of O/S-specific module (e.g. "posix", "mac", "nt")
1347 path O/S-specific module for path manipulations.
1348 On Unix, os.path.split() <=> posixpath.split()
1349 curdir string used to represent current directory ('.')
1350 pardir string used to represent parent directory ('..')
1351 sep string used to separate directories ('/' or '\'). Tip: use
1352 os.path.join() to build portable paths.
1353 altsep Alternate sep
1356 pathsep character used to separate search path components (as in
1357 $PATH), eg. ';' for windows.
1358 linesep line separator as used in binary files, ie '\n' on Unix, '\
1359 r\n' on Dos/Win, '\r'
1363 makedirs(path[, Recursive directory creation (create required intermediary
1364 mode=0777]) dirs); os.error if fails.
1365 removedirs(path) Recursive directory delete (delete intermediary empty
1367 renames(old, new) Recursive directory or file renaming; os.error if fails.
1372 don't import this module directly, import os instead !
1373 (see also module: shutil for file copy & remove fcts)
1377 environ dictionary of environment variables, e.g.posix.environ['HOME'].
1378 error exception raised on POSIX-related error.
1379 Corresponding value is tuple of errno code and perror() string.
1381 Some posix functions
1383 chdir(path) Changes current directory to path.
1384 chmod(path, Changes the mode of path to the numeric mode
1386 close(fd) Closes file descriptor fd opened with posix.open.
1387 _exit(n) Immediate exit, with no cleanups, no SystemExit,etc. Should use
1388 this to exit a child process.
1389 execv(p, args) "Become" executable p with args args
1390 getcwd() Returns a string representing the current working directory
1391 getpid() Returns the current process id
1392 fork() Like C's fork(). Returns 0 to child, child pid to parent.[Not
1394 kill(pid, Like C's kill [Not on Windows]
1396 listdir(path) Lists (base)names of entries in directory path, excluding '.'
1398 lseek(fd, pos, Sets current position in file fd to position pos, expressedas
1399 how) an offset relative to beginning of file (how=0), tocurrent
1400 position (how=1), or to end of file (how=2)
1401 mkdir(path[, Creates a directory named path with numeric mode (default 0777)
1403 open(file, Like C's open(). Returns file descriptor. Use file object
1404 flags, mode) fctsrather than this low level ones.
1405 pipe() Creates a pipe. Returns pair of file descriptors (r, w) [Not on
1407 popen(command, Opens a pipe to or from command. Result is a file object to
1408 mode='r', read to orwrite from, as indicated by mode being 'r' or 'w'.
1409 bufSize=0) Use it to catch acommand output ('r' mode) or to feed it ('w'
1411 remove(path) See unlink.
1412 rename(src, dst Renames/moves the file or directory src to dst. [error iftarget
1413 ) name already exists]
1414 rmdir(path) Removes the empty directory path
1415 read(fd, n) Reads n bytes from file descriptor fd and return as string.
1416 Returns st_mode, st_ino, st_dev, st_nlink, st_uid,st_gid,
1417 stat(path) st_size, st_atime, st_mtime, st_ctime.[st_ino, st_uid, st_gid
1418 are dummy on Windows]
1419 system(command) Executes string command in a subshell. Returns exitstatus of
1420 subshell (usually 0 means OK).
1421 Returns accumulated CPU times in sec (user, system, children's
1422 times() user,children's sys, elapsed real time). [3 last not on
1424 unlink(path) Unlinks ("deletes") the file (not dir!) path. same as: remove
1425 utime(path, ( Sets the access & modified time of the file to the given tuple
1426 aTime, mTime)) of values.
1427 wait() Waits for child process completion. Returns tuple ofpid,
1428 exit_status [Not on Windows]
1429 waitpid(pid, Waits for process pid to complete. Returns tuple ofpid,
1430 options) exit_status [Not on Windows]
1431 write(fd, str) Writes str to file fd. Returns nb of bytes written.
1436 Do not import this module directly, import os instead and refer to this module
1437 as os.path. (e.g. os.path.exists(p)) !
1439 Some posixpath functions
1441 abspath(p) Returns absolute path for path p, taking current working dir in
1444 basename(p directory and name parts of the path p. See also split.
1446 exists(p) True if string p is an existing path (file or directory)
1447 expanduser Returns string that is (a copy of) p with "~" expansion done.
1449 expandvars Returns string that is (a copy of) p with environment vars expanded.
1450 (p) [Windows: case significant; must use Unix: $var notation, not %var%]
1451 getsize( return the size in bytes of filename. raise os.error.
1453 getmtime( return last modification time of filename (integer nb of seconds
1454 filename) since epoch).
1455 getatime( return last access time of filename (integer nb of seconds since
1457 isabs(p) True if string p is an absolute path.
1458 isdir(p) True if string p is a directory.
1459 islink(p) True if string p is a symbolic link.
1460 ismount(p) True if string p is a mount point [true for all dirs on Windows].
1461 join(p[,q Joins one or more path components intelligently.
1463 Splits p into (head, tail) where tail is lastpathname component and
1464 split(p) <head> is everything leadingup to that. <=> (dirname(p), basename
1466 splitdrive Splits path p in a pair ('drive:', tail) [Windows]
1468 splitext(p Splits into (root, ext) where last comp of root contains no periods
1469 ) and ext is empty or startswith a period.
1470 Calls the function visit with arguments(arg, dirname, names) for
1471 each directory recursively inthe directory tree rooted at p
1472 walk(p, (including p itself if it's a dir)The argument dirname specifies the
1473 visit, arg visited directory, the argumentnames lists the files in the
1474 ) directory. The visit function maymodify names to influence the set
1475 of directories visited belowdirname, e.g., to avoid visiting certain
1481 high-level file operations (copying, deleting).
1483 Main shutil functions
1485 copy(src, dst) Copies the contents of file src to file dst, retaining file
1487 copytree(src, dst Recursively copies an entire directory tree rooted at src
1488 [, symlinks]) into dst (which should not already exist). If symlinks is
1489 true, links insrc are kept as such in dst.
1490 rmtree(path[, Deletes an entire directory tree, ignoring errors if
1491 ignore_errors[, ignore_errors true,or calling onerror(func, path,
1492 onerror]]) sys.exc_info()) if supplied with
1494 (and also: copyfile, copymode, copystat, copy2)
1500 altzone signed offset of local DST timezone in sec west of the 0th meridian.
1501 daylight nonzero if a DST timezone is specified
1505 time() return a float representing UTC time in seconds since the epoch.
1506 gmtime(secs), return a tuple representing time : (year aaaa, month(1-12),day
1507 localtime( (1-31), hour(0-23), minute(0-59), second(0-59), weekday(0-6, 0 is
1508 secs) monday), Julian day(1-366), daylight flag(-1,0 or 1))
1512 format, return a formatted string representing time.
1514 mktime(tuple) inverse of localtime(). Return a float.
1515 strptime( parse a formatted string representing time, return tuple as in
1518 sleep(secs) Suspend execution for <secs> seconds. <secs> can be a float.
1520 and also: clock, ctime.
1524 As of Python 2.0, much (though not all) of the functionality provided by the
1525 string module have been superseded by built-in string methods - see Operations
1526 on strings for details.
1528 Some string variables
1530 digits The string '0123456789'
1531 hexdigits, octdigits legal hexadecimal & octal digits
1532 letters, uppercase, lowercase, Strings containing the appropriate
1533 whitespace characters
1534 index_error Exception raised by index() if substr not
1537 Some string functions
1539 expandtabs(s, returns a copy of string <s> with tabs expanded.
1541 find/rfind(s, sub Return the lowest/highest index in <s> where the substring
1542 [, start=0[, end= <sub> is found such that <sub> is wholly contained ins
1543 0]) [start:end]. Return -1 if <sub> not found.
1544 ljust/rjust/center Return a copy of string <s> left/right justified/centerd in
1545 (s, width) afield of given width, padded with spaces. <s> is
1547 lower/upper(s) Return a string that is (a copy of) <s> in lowercase/
1549 split(s[, sep= Return a list containing the words of the string <s>,using
1550 whitespace[, the string <sep> as a separator.
1552 join(words[, sep=' Concatenate a list or tuple of words with
1553 ']) interveningseparators; inverse of split.
1554 replace(s, old, Returns a copy of string <s> with all occurrences of
1555 new[, maxsplit=0] substring<old> replaced by <new>. Limits to <maxsplit>
1556 firstsubstitutions if specified.
1557 strip(s) Return a string that is (a copy of) <s> without leadingand
1558 trailing whitespace. see also lstrip, rstrip.
1564 Handles Unicode strings. Implemented in new module sre, re now a mere front-end
1566 Patterns are specified as strings. Tip: Use raw strings (e.g. r'\w*') to
1567 litteralize backslashes.
1570 Regular expression syntax
1572 . matches any character (including newline if DOTALL flag specified)
1573 ^ matches start of the string (of every line in MULTILINE mode)
1574 $ matches end of the string (of every line in MULTILINE mode)
1575 * 0 or more of preceding regular expression (as many as possible)
1576 + 1 or more of preceding regular expression (as many as possible)
1577 ? 0 or 1 occurrence of preceding regular expression
1578 *?, +?, ?? Same as *, + and ? but matches as few characters as possible
1579 {m,n} matches from m to n repetitions of preceding RE
1580 {m,n}? idem, attempting to match as few repetitions as possible
1581 [ ] defines character set: e.g. '[a-zA-Z]' to match all letters(see also
1583 [^ ] defines complemented character set: matches if char is NOT in set
1584 escapes special chars '*?+&$|()' and introduces special sequences
1585 \ (see below). Due to Python string rules, write as '\\' orr'\' in the
1587 \\ matches a litteral '\'; due to Python string rules, write as '\\\\
1588 'in pattern string, or better using raw string: r'\\'.
1589 | specifies alternative: 'foo|bar' matches 'foo' or 'bar'
1590 (...) matches any RE inside (), and delimits a group.
1591 (?:...) idem but doesn't delimit a group.
1592 matches if ... matches next, but doesn't consume any of the string
1593 (?=...) e.g. 'Isaac (?=Asimov)' matches 'Isaac' only if followed by
1595 (?!...) matches if ... doesn't match next. Negative of (?=...)
1596 (?P<name matches any RE inside (), and delimits a named group. (e.g. r'(?P
1597 >...) <id>[a-zA-Z_]\w*)' defines a group named id)
1598 (?P=name) matches whatever text was matched by the earlier group named name.
1599 (?#...) A comment; ignored.
1600 (?letter) letter is one of 'i','L', 'm', 's', 'x'. Set the corresponding flags
1601 (re.I, re.L, re.M, re.S, re.X) for the entire RE.
1604 Sequence Description
1605 number matches content of the group of the same number; groups are numbered
1607 \A matches only at the start of the string
1608 \b empty str at beg or end of word: '\bis\b' matches 'is', but not 'his'
1609 \B empty str NOT at beginning or end of word
1610 \d any decimal digit (<=> [0-9])
1611 \D any non-decimal digit char (<=> [^O-9])
1612 \s any whitespace char (<=> [ \t\n\r\f\v])
1613 \S any non-whitespace char (<=> [^ \t\n\r\f\v])
1614 \w any alphaNumeric char (depends on LOCALE flag)
1615 \W any non-alphaNumeric char (depends on LOCALE flag)
1616 \Z matches only at the end of the string
1620 error Exception when pattern string isn't a valid regexp.
1624 Compile a RE pattern string into a regular expression object.
1625 Flags (combinable by |):
1627 I or IGNORECASE or (?i)
1628 case insensitive matching
1629 compile( L or LOCALE or (?L)
1630 pattern[, make \w, \W, \b, \B dependent on thecurrent locale
1631 flags=0]) M or MULTILINE or (?m)
1632 matches every new line and not onlystart/end of the whole
1635 '.' matches ALL chars, including newline
1636 X or VERBOSE or (?x)
1637 Ignores whitespace outside character sets
1638 escape(string) return (a copy of) string with all non-alphanumerics
1640 match(pattern, if 0 or more chars at beginning of <string> match the RE pattern
1641 string[, flags string,return a corresponding MatchObject instance, or None if
1643 search(pattern scan thru <string> for a location matching <pattern>, return
1644 , string[, acorresponding MatchObject instance, or None if no match.
1646 split(pattern, split <string> by occurrences of <pattern>. If capturing () are
1647 string[, used inpattern, then occurrences of patterns or subpatterns are
1648 maxsplit=0]) also returned.
1649 findall( return a list of non-overlapping matches in <pattern>, either a
1650 pattern, list ofgroups or a list of tuples if the pattern has more than 1
1652 return string obtained by replacing the (<count> first) lefmost
1653 sub(pattern, non-overlapping occurrences of <pattern> (a string or a RE
1654 repl, string[, object) in <string>by <repl>; <repl> can be a string or a fct
1655 count=0]) called with a single MatchObj arg, which must return the
1658 repl, string[, same as sub(), but returns a tuple (newString, numberOfSubsMade)
1661 Regular Expression Objects
1664 (RE objects are returned by the compile fct)
1666 re object attributes
1667 Attribute Descrition
1668 flags flags arg used when RE obj was compiled, or 0 if none provided
1669 groupindex dictionary of {group name: group number} in pattern
1670 pattern pattern string from which RE obj was compiled
1674 If zero or more characters at the beginning of string match this
1675 regular expression, return a corresponding MatchObject instance.
1676 Return None if the string does not match the pattern; note that
1677 this is different from a zero-length match.
1678 The optional second parameter pos gives an index in the string
1679 match( where the search is to start; it defaults to 0. This is not
1680 string[, completely equivalent to slicing the string; the '' pattern
1681 pos][, character matches at the real beginning of the string and at
1682 endpos]) positions just after a newline, but not necessarily at the index
1683 where the search is to start.
1684 The optional parameter endpos limits how far the string will be
1685 searched; it will be as if the string is endpos characters long, so
1686 only the characters from pos to endpos will be searched for a
1688 Scan through string looking for a location where this regular
1689 search( expression produces a match, and return a corresponding MatchObject
1690 string[, instance. Return None if no position in the string matches the
1691 pos][, pattern; note that this is different from finding a zero-length
1692 endpos]) match at some point in the string.
1693 The optional pos and endpos parameters have the same meaning as for
1696 string[, Identical to the split() function, using the compiled pattern.
1699 findall( Identical to the findall() function, using the compiled pattern.
1702 string[, Identical to the sub() function, using the compiled pattern.
1705 string[, Identical to the subn() function, using the compiled pattern.
1711 (Match objects are returned by the match & search functions)
1713 Match object attributes
1714 Attribute Description
1715 pos value of pos passed to search or match functions; index intostring at
1716 which RE engine started search.
1717 endpos value of endpos passed to search or match functions; index intostring
1718 beyond which RE engine won't go.
1719 re RE object whose match or search fct produced this MatchObj instance
1720 string string passed to match() or search()
1722 Match object functions
1724 returns one or more groups of the match. If one arg, result is a
1725 group([g1 string;if multiple args, result is a tuple with one item per arg. If
1726 , g2, gi is 0,return value is entire matching string; if 1 <= gi <= 99,
1727 ...]) returnstring matching group #gi (or None if no such group); gi may
1728 also bea group name.
1729 returns a tuple of all groups of the match; groups not
1730 groups() participatingto the match have a value of None. Returns a string
1731 instead of tupleif len(tuple)=1
1733 group), returns indices of start & end of substring matched by group (or
1734 end(group Noneif group exists but doesn't contribute to the match)
1736 span( returns the 2-tuple (start(group), end(group)); can be (None, None)if
1737 group) group didn't contibute to the match.
1746 Functions (see ordinary C man pages for info):
1759 frexp(x) -- Unlike C: (float, int) = frexp(float)
1763 modf(x) -- Unlike C: (float, float) = modf(float)
1775 getopt(list, optstr) -- Similar to C. <optstr> is option
1776 letters to look for. Put ':' after letter
1777 if option takes arg. E.g.
1778 # invocation was "python test.py -c hi -a arg1 arg2"
1779 opts, args = getopt.getopt(sys.argv[1:], 'ab:c:')
1781 [('-c', 'hi'), ('-a', '')]
1786 List of modules and packages in base distribution
1788 (built-ins and content of python Lib directory)
1789 (Python NT distribution, may be slightly different in other distributions)
1791 Standard library modules
1793 aifc Stuff to parse AIFF-C and AIFF files.
1794 asynchat Support for 'chat' style protocols
1795 asyncore Asynchronous File I/O (in select style)
1796 atexit Register functions to be called at exit of Python interpreter.
1797 base64 Conversions to/from base64 RFC-MIME transport encoding .
1798 bdb A generic Python debugger base class.
1799 binhex Macintosh binhex compression/decompression.
1800 bisect List bisection algorithms.
1801 bz2 Support for bz2 compression/decompression.
1802 calendar Calendar printing functions.
1803 cgi Wraps the WWW Forms Common Gateway Interface (CGI).
1804 cgitb Utility for handling CGI tracebacks.
1805 cmd A generic class to build line-oriented command interpreters.
1806 datetime Basic date and time types.
1807 code Utilities needed to emulate Python's interactive interpreter
1808 codecs Lookup existing Unicode encodings and register new ones.
1809 colorsys Conversion functions between RGB and other color systems.
1810 compileall Force "compilation" of all .py files in a directory.
1811 configparser Configuration file parser (much like windows .ini files)
1812 copy Generic shallow and deep copying operations.
1813 copyreg Helper to provide extensibility for pickle/cPickle.
1814 csv Read and write files with comma separated values.
1815 dbm Generic interface to all dbm clones (dbm.bsd, dbm.gnu,
1816 dbm.ndbm, dbm.dumb).
1817 dircache Sorted list of files in a dir, using a cache.
1818 difflib Tool for creating delta between sequences.
1819 dis Bytecode disassembler.
1820 distutils Package installation system.
1821 doctest Tool for running and verifying tests inside doc strings.
1822 dospath Common operations on DOS pathnames.
1823 email Comprehensive support for internet email.
1824 filecmp File comparison.
1825 fileinput Helper class to quickly write a loop over all standard input
1827 fnmatch Filename matching with shell patterns.
1828 formatter A test formatter.
1829 fpformat General floating point formatting functions.
1830 ftplib An FTP client class. Based on RFC 959.
1831 gc Perform garbacge collection, obtain GC debug stats, and tune
1833 getopt Standard command line processing. See also ftp://
1834 www.pauahtun.org/pub/getargspy.zip
1835 getpass Utilities to get a password and/or the current user name.
1836 glob filename globbing.
1837 gzip Read & write gzipped files.
1838 heapq Priority queue implemented using lists organized as heaps.
1839 hmac Keyed-Hashing for Message Authentication -- RFC 2104.
1840 html.entities HTML entity definitions.
1841 html.parser A parser for HTML and XHTML.
1842 http.client HTTP client class.
1843 http.server HTTP server services.
1844 ihooks Hooks into the "import" mechanism.
1845 imaplib IMAP4 client.Based on RFC 2060.
1846 imghdr Recognizing image files based on their first few bytes.
1847 imputil Privides a way of writing customised import hooks.
1848 inspect Tool for probing live Python objects.
1849 keyword List of Python keywords.
1850 linecache Cache lines from files.
1851 locale Support for number formatting using the current locale
1853 logging Python logging facility.
1854 macpath Pathname (or related) operations for the Macintosh.
1855 macurl2path Mac specific module for conversion between pathnames and URLs.
1856 mailbox A class to handle a unix-style or mmdf-style mailbox.
1857 mailcap Mailcap file handling (RFC 1524).
1858 mhlib MH (mailbox) interface.
1859 mimetypes Guess the MIME type of a file.
1860 mmap Interface to memory-mapped files - they behave like mutable
1862 multifile Class to make multi-file messages easier to handle.
1863 mutex Mutual exclusion -- for use with module sched.
1865 nntplib An NNTP client class. Based on RFC 977.
1866 ntpath Common operations on DOS pathnames.
1867 nturl2path Mac specific module for conversion between pathnames and URLs.
1868 optparse A comprehensive tool for processing command line options.
1869 os Either mac, dos or posix depending system.
1870 pdb A Python debugger.
1871 pickle Pickling (save and restore) of Python objects (a faster
1872 Cimplementation exists in built-in module: cPickle).
1873 pipes Conversion pipeline templates.
1874 pkgunil Utilities for working with Python packages.
1875 poplib A POP3 client class. Based on the J. Myers POP3 draft.
1876 posixpath Common operations on POSIX pathnames.
1877 pprint Support to pretty-print lists, tuples, & dictionaries
1879 profile Class for profiling python code.
1880 pstats Class for printing reports on profiled python code.
1881 pydoc Utility for generating documentation from source files.
1882 pty Pseudo terminal utilities.
1883 pyexpat Interface to the Expay XML parser.
1884 py_compile Routine to "compile" a .py file to a .pyc file.
1885 pyclbr Parse a Python file and retrieve classes and methods.
1886 queue A multi-producer, multi-consumer queue.
1887 quopri Conversions to/from quoted-printable transport encoding.
1888 random Random variable generators
1889 re Regular Expressions.
1890 reprlib Redo repr() but with limits on most sizes.
1891 rlcompleter Word completion for GNU readline 2.0.
1892 sched A generally useful event scheduler class.
1893 shelve Manage shelves of pickled objects.
1894 shlex Lexical analyzer class for simple shell-like syntaxes.
1895 shutil Utility functions usable in a shell-like program.
1896 site Append module search paths for third-party packages to
1898 smtplib SMTP Client class (RFC 821)
1899 sndhdr Several routines that help recognizing sound.
1900 socketserver Generic socket server classes.
1901 stat Constants and functions for interpreting stat/lstat struct.
1902 statvfs Constants for interpreting statvfs struct as returned by
1903 os.statvfs()and os.fstatvfs() (if they exist).
1904 string A collection of string operations.
1905 sunau Stuff to parse Sun and NeXT audio files.
1906 sunaudio Interpret sun audio headers.
1907 symbol Non-terminal symbols of Python grammar (from "graminit.h").
1908 tabnanny Check Python source for ambiguous indentation.
1909 tarfile Facility for reading and writing to the *nix tarfile format.
1910 telnetlib TELNET client class. Based on RFC 854.
1911 tempfile Temporary file name allocation.
1912 textwrap Object for wrapping and filling text.
1913 threading Proposed new higher-level threading interfaces
1914 token Tokens (from "token.h").
1915 tokenize Compiles a regular expression that recognizes Python tokens.
1916 traceback Format and print Python stack traces.
1917 tty Terminal utilities.
1918 turtle LogoMation-like turtle graphics
1919 types Define names for all type symbols in the std interpreter.
1920 tzparse Parse a timezone specification.
1921 unicodedata Interface to unicode properties.
1922 urllib.parse Parse URLs according to latest draft of standard.
1923 urllib.request Open an arbitrary URL.
1924 urllib.robotparser Parse robots.txt files, useful for web spiders.
1925 user Hook to allow user-specified customization code to run.
1926 uu UUencode/UUdecode.
1927 unittest Utilities for implementing unit testing.
1928 wave Stuff to parse WAVE files.
1929 weakref Tools for creating and managing weakly referenced objects.
1930 webbrowser Platform independent URL launcher.
1931 xdrlib Implements (a subset of) Sun XDR (eXternal Data
1933 xml.dom Classes for processing XML using the Document Object Model.
1934 xml.sax Classes for processing XML using the SAX API.
1935 xmlrpc.client Support for remote procedure calls using XML.
1936 xmlrpc.server Create XMLRPC servers.
1937 zipfile Read & write PK zipped files.
1943 sys Interpreter state vars and functions
1944 __built-in__ Access to all built-in python identifiers
1945 __main__ Scope of the interpreters main program, script or stdin
1946 array Obj efficiently representing arrays of basic values
1947 math Math functions of C standard
1948 time Time-related functions (also the newer datetime module)
1949 marshal Read and write some python values in binary format
1950 struct Convert between python values and C structs
1954 getopt Parse cmd line args in sys.argv. A la UNIX 'getopt'.
1955 os A more portable interface to OS dependent functionality
1956 re Functions useful for working with regular expressions
1957 string Useful string and characters functions and exceptions
1958 random Mersenne Twister pseudo-random number generator
1959 _thread Low-level primitives for working with process threads
1960 threading idem, new recommended interface.
1964 dbm Interface to Unix dbm databases
1965 grp Interface to Unix group database
1966 posix OS functionality standardized by C and POSIX standards
1967 posixpath POSIX pathname functions
1968 pwd Access to the Unix password database
1969 select Access to Unix select multiplex file synchronization
1970 socket Access to BSD socket interface
1972 * Tk User-interface Toolkit *
1974 tkinter Main interface to Tk
1978 audioop Useful operations on sound fragments
1979 imageop Useful operations on images
1980 jpeg Access to jpeg image compressor and decompressor
1981 rgbimg Access SGI imglib image files
1983 * Cryptographic Extensions *
1985 md5 Interface to RSA's MD5 message digest algorithm
1986 sha Interface to the SHA message digest algorithm
1987 HMAC Keyed-Hashing for Message Authentication -- RFC 2104.
1989 * SGI IRIX * (4 & 5)
1991 al SGI audio facilities
1993 fl Interface to FORMS library
1995 flp Functions for form designer
1996 fm Access to font manager library
1997 gl Access to graphics library
1999 DEVICE More constants for gl
2000 imgfile Imglib image file interface
2003 Workspace exploration and idiom hints
2005 dir(<module>) list functions, variables in <module>
2006 dir() get object keys, defaults to local name space
2007 if __name__ == '__main__': main() invoke main if running as script
2008 map(None, lst1, lst2, ...) merge lists
2009 b = a[:] create copy of seq structure
2010 _ in interactive mode, is last value printed
2018 Python Mode for Emacs
2020 (Not revised, possibly not up to date)
2021 Type C-c ? when in python-mode for extensive help.
2023 Primarily for entering new code:
2024 TAB indent line appropriately
2025 LFD insert newline, then indent
2026 DEL reduce indentation, or delete single character
2027 Primarily for reindenting existing code:
2028 C-c : guess py-indent-offset from file content; change locally
2029 C-u C-c : ditto, but change globally
2030 C-c TAB reindent region to match its context
2031 C-c < shift region left by py-indent-offset
2032 C-c > shift region right by py-indent-offset
2033 MARKING & MANIPULATING REGIONS OF CODE
2034 C-c C-b mark block of lines
2035 M-C-h mark smallest enclosing def
2036 C-u M-C-h mark smallest enclosing class
2037 C-c # comment out region of code
2038 C-u C-c # uncomment region of code
2040 C-c C-p move to statement preceding point
2041 C-c C-n move to statement following point
2042 C-c C-u move up to start of current block
2043 M-C-a move to start of def
2044 C-u M-C-a move to start of class
2045 M-C-e move to end of def
2046 C-u M-C-e move to end of class
2047 EXECUTING PYTHON CODE
2048 C-c C-c sends the entire buffer to the Python interpreter
2049 C-c | sends the current region
2050 C-c ! starts a Python interpreter window; this will be used by
2051 subsequent C-c C-c or C-c | commands
2052 C-c C-w runs PyChecker
2055 py-indent-offset indentation increment
2056 py-block-comment-prefix comment string used by py-comment-region
2057 py-python-command shell command to invoke Python interpreter
2058 py-scroll-process-buffer t means always scroll Python process buffer
2059 py-temp-directory directory used for temp files (if needed)
2060 py-beep-if-tab-change ring the bell if tab-width is changed
2065 (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)
2069 import pdb (it's a module written in Python)
2070 -- defines functions :
2071 run(statement[,globals[, locals]])
2072 -- execute statement string under debugger control, with optional
2073 global & local environment.
2074 runeval(expression[,globals[, locals]])
2075 -- same as run, but evaluate expression and return value.
2076 runcall(function[, argument, ...])
2077 -- run function object with given arg(s)
2078 pm() -- run postmortem on last exception (like debugging a core file)
2080 -- run postmortem on traceback object <t>
2082 -- defines class Pdb :
2083 use Pdb to create reusable debugger objects. Object
2084 preserves state (i.e. break points) between calls.
2086 runs until a breakpoint hit, exception, or end of program
2087 If exception, variable '__exception__' holds (exception,value).
2092 brief reminder of commands
2094 if <arg> numeric, break at line <arg> in current file
2095 if <arg> is function object, break on entry to fcn <arg>
2096 if no arg, list breakpoints
2098 if <arg> numeric, clear breakpoint at <arg> in current file
2099 if no arg, clear all breakpoints after confirmation
2101 print current call stack
2103 move up one stack frame (to top-level caller)
2105 move down one stack frame
2107 advance one line in the program, stepping into calls
2109 advance one line, stepping over calls
2111 continue execution until current function returns
2112 (return value is saved in variable "__return__", which
2113 can be printed or manipulated from debugger)
2115 continue until next breakpoint
2117 Set the next line that will be executed
2119 print args to current function
2121 prints return value from last function that returned
2123 prints value of <arg> in current stack frame
2124 l, list [<first> [, <last>]]
2125 List source code for the current file.
2126 Without arguments, list 11 lines around the current line
2127 or continue the previous listing.
2128 With one argument, list 11 lines starting at that line.
2129 With two arguments, list the given range;
2130 if the second argument is less than the first, it is a count.
2132 prints type of <arg>
2134 executes rest of line as a Python statement in the current stack frame
2136 immediately stop execution and leave debugger
2138 executes last command again
2139 Any input debugger doesn't recognize as a command is assumed to be a
2140 Python statement to execute in the current stack frame, the same way
2141 the exclamation mark ("!") command does.
2146 Python 1.0.3 (Sep 26 1994)
2147 Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
2150 Traceback (innermost last):
2151 File "<stdin>", line 1
2152 File "./rm.py", line 7
2154 File "./rm.py", line 2
2156 ZeroDivisionError: integer division or modulo
2159 > ./rm.py(2)div: return a / r
2173 >>> pdb.runcall(rm.run)
2178 Breakpoints are stored as filename, line number tuples. If a module is reloaded
2179 after editing, any remembered breakpoints are likely to be wrong.
2181 Always single-steps through top-most stack frame. That is, "c" acts like "n".