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 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".