~malept/ubuntu/lucid/python2.6/dev-dependency-fix

« back to all changes in this revision

Viewing changes to Misc/cheatsheet

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2009-02-13 12:51:00 UTC
  • Revision ID: james.westby@ubuntu.com-20090213125100-uufgcb9yeqzujpqw
Tags: upstream-2.6.1
ImportĀ upstreamĀ versionĀ 2.6.1

Show diffs side-by-side

added added

removed removed

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