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