]> granicus.if.org Git - python/commitdiff
Remove some outdated files from Misc.
authorBrett Cannon <bcannon@gmail.com>
Thu, 20 Jan 2011 19:34:35 +0000 (19:34 +0000)
committerBrett Cannon <bcannon@gmail.com>
Thu, 20 Jan 2011 19:34:35 +0000 (19:34 +0000)
Misc/README.AIX [deleted file]
Misc/README.OpenBSD [deleted file]
Misc/cheatsheet [deleted file]

diff --git a/Misc/README.AIX b/Misc/README.AIX
deleted file mode 100644 (file)
index d928f53..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-Subject: AIX - Misc/AIX-NOTES
-From: Vladimir Marangozov <Vladimir.Marangozov@imag.fr>
-To: guido@CNRI.Reston.Va.US (Guido van Rossum)
-Date: Wed, 6 Aug 1997 11:41:00 +0200 (EET)
-
-==============================================================================
-                              COMPILER INFORMATION
-------------------------------------------------------------------------------
-
-(1) A problem has been reported with "make test" failing because of "weird
-    indentation."  Searching the comp.lang.python newsgroup reveals several
-    threads on this subject, and it seems to be a compiler bug in an old
-    version of the AIX CC compiler.  However, the compiler/OS combination
-    which has this problem is not identified.  In preparation for the 1.4
-    release, Vladimir Marangozov (Vladimir.Marangozov@imag.fr) and Manus Hand
-    (mhand@csn.net) reported no such troubles for the following compilers and
-    operating system versions:
-       AIX C compiler version 3.1.2 on AIX 4.1.3 and AIX 4.1.4
-       AIX C compiler version 1.3.0 on AIX 3.2.5
-    If you have this problem, please report the compiler/OS version.
-
-(2) Stefan Esser (se@MI.Uni-Koeln.DE), in work done to compile Python
-    1.0.0 on AIX 3.2.4, reports that AIX compilers don't like the LANG
-    environment varaiable set to European locales.  This makes the compiler
-    generate floating point constants using "," as the decimal separator,
-    which the assembler doesn't understand (or perhaps it is the other way
-    around, with the assembler expecting, but not getting "," in float
-    numbers).  "LANG=C; export LANG" solves the problem, as does
-    "LANG=C $(MAKE) ..." in the master Makefile.
-
-(3) The cc (or xlc) compiler considers "Python/ceval.c" too complex to
-    optimize, except when invoked with "-qmaxmem=4000"
-
-(4) Some problems (due to _AIX not being #defined) when python 1.0.0 was
-    compiled using 'gcc -ansi' were reported by Stefan Esser, but were not
-    investigated.
-
-(5) The cc compiler has internal variables named "__abs" and "__div".  These
-    names are reserved and may not be used as program variables in compiled
-    source.  (As an anecdote in support of this, the implementation of
-    Python/operator.c had this problem in the 1.4 beta releases, and the
-    solution was to re#define some core-source variables having these names,
-    to give these python variables different names if the build is being done
-    on AIX.)
-
-(6) As mentioned in the README, builds done immediately after previous builds
-    (without "make clean" or "make clobber") sometimes fail for mysterious
-    reasons.  There are some unpredictable results when the configuration
-    is changed (that is, if you "configure" with different parameters) or if
-    intermediate changes are made to some files.  Performing "make clean" or
-    "make clobber" resolves the problems.
-
-==============================================================================
-                                THREAD SUPPORT
-------------------------------------------------------------------------------
-
-As of AIX version 4, there are two (incompatible) types of pthreads on AIX:
-        a)  AIX DCE pthreads (on AIX 3.2.5)
-        b)  AIX 4 pthreads (on AIX 4.1 and up)
-Support has been added to Python to handle the distinction.
-
-The cc and gcc compilers do not initialize pthreads properly. The only
-compilers that can initialize pthreads properly are IBM *_r* compilers,
-which use the crt0_r.o module, and which invoke ld with the reentrant
-version of libc (libc_r).
-
-In order to enable thread support, follow these steps:
-   1.  Uncomment the thread module in Modules/Setup
-   2.  configure --without-gcc --with-thread ...
-   3.  make CC="cc_r" OPT="-O -qmaxmem=4000"
-
-For example, to make with both threads and readline, use:
-  ./configure --without-gcc --with-thread --with-readline=/usr/local/lib
-  make CC=cc_r OPT="-O2 -qmaxmem=4000"
-
-If the "make" which is used ignores the "CC=cc_r" directive, one could alias
-the cc command to cc_r (for example, in C-shell, perform an "alias cc cc_r").
-
-Vladimir Marangozov (Vladimir.Marangozov@imag.fr) provided this information,
-and he reports that a cc_r build initializes threads properly and that all
-demos on threads run okay with cc_r.
-
-==============================================================================
-                            SHARED LIBRARY SUPPORT
-------------------------------------------------------------------------------
-
-AIX shared library support was added to Python in the 1.4 release by Manus
-Hand (mhand@csn.net) and Vladimir Marangozov (Vladimir.Marangozov@imag.fr).
-
-Python modules may now be built as shared libraries on AIX using the normal
-process of uncommenting the "*shared*" line in Modules/Setup before the
-build.
-
-AIX shared libraries require that an "export" and "import" file be provided
-at compile time to list all extern symbols which may be shared between
-modules.  The "export" file (named python.exp) for the modules and the
-libraries that belong to the Python core is created by the "makexp_aix"
-script before performing the link of the python binary. It lists all global
-symbols (exported during the link) of the modules and the libraries that
-make up the python executable.
-
-When shared library modules (.so files) are made, a second shell script
-is invoked.  This script is named "ld_so_aix" and is also provided with
-the distribution in the Modules subdirectory.  This script acts as an "ld"
-wrapper which hides the explicit management of "export" and "import" files;
-it adds the appropriate arguments (in the appropriate order) to the link
-command that creates the shared module.  Among other things, it specifies
-that the "python.exp" file is an "import" file for the shared module.
-
-At the time of this writing, neither the python.exp file nor the makexp_aix
-or ld_so_aix scripts are installed by the make procedure, so you should
-remember to keep these and/or copy them to a different location for
-safekeeping if you wish to use them to add shared extension modules to
-python.  However, if the make process has been updated since this writing,
-these files MAY have been installed for you during the make by the
-LIBAINSTALL rule, in which case the need to make safe copies is obviated.
-
-If you wish to add a shared extension module to the language, you would follow
-the steps given in the example below (the example adds the shared extension
-module "spam" to python):
-    1.  Make sure that "ld_so_aix" and "makexp_aix" are in your path.
-    2.  The "python.exp" file should be in the current directory.
-    3.  Issue the following commands or include them in your Makefile:
-            cc -c spammodule.c
-            ld_so_aix cc spammodule.o -o spammodule.so
-
-For more detailed information on the shared library support, examine the
-contents of the "ld_so_aix" and "makexp_aix" scripts or refer to the AIX
-documentation.
-
-NOTE:  If the extension module is written in C++ and contains templates,
-       an alternative to "ld_so_aix" is the /usr/lpp/xlC/bin/makeC++SharedLib
-       script.  Chris Myers (myers@TC.Cornell.EDU) reports that ld_so_aix
-       works well for some C++ (including the C++ that is generated
-       automatically by the Python SWIG package [SWIG can be found at
-       http://www.cs.utah.edu/~beazley/SWIG/swig.html]).  However, it is not
-       known whether makeC++SharedLib can be used as a complete substitute
-       for ld_so_aix.
-
-According to Gary Hook from IBM, the format of the export file changed
-in AIX 4.2.  For AIX 4.2 and later, a period "." is required on the
-first line after "#!".  If python crashes while importing a shared
-library, you can try modifying the LINKCC variable in the Makefile.
-It probably looks like this:
-
-       LINKCC=     $(srcdir)/Modules/makexp_aix Modules/python.exp \"\" $(LIBRARY); $(PURIFY) $(CXX)
-
-You should modify the \"\" to be a period:
-
-       LINKCC=     $(srcdir)/Modules/makexp_aix Modules/python.exp . $(LIBRARY); $(PURIFY) $(CXX)
-
-Using a period fixed the problem in the snake farm.  YMMV.
-This fix has been incorporated into Python 2.3.
-
-==============================================================================
diff --git a/Misc/README.OpenBSD b/Misc/README.OpenBSD
deleted file mode 100644 (file)
index b417ecc..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-
-2005-01-08
-
-If you are have a problem building on OpenBSD and see output like this
-while running configure:
-
-checking curses.h presence... yes
-configure: WARNING: curses.h: present but cannot be compiled
-configure: WARNING: curses.h: check for missing prerequisite headers?
-configure: WARNING: curses.h: see the Autoconf documentation
-configure: WARNING: curses.h: section "Present But Cannot Be Compiled"
-configure: WARNING: curses.h: proceeding with the preprocessor's result
-configure: WARNING: curses.h: in the future, the compiler will take precedence
-
-there is likely a problem that will prevent building python.  
-If you see the messages above and are able to completely build python,
-please tell python-dev@python.org indicating your version of OpenBSD
-and any other relevant system configuration.
-
-The build error that occurs while making may look something like this:
-
-    /usr/include/sys/event.h:53: error: syntax error before "u_int"
-    /usr/include/sys/event.h:55: error: syntax error before "u_short"
-
-To fix this problem, you will probably need update Python's configure
-script to disable certain options.  Search for a line that looks like:
-
-    OpenBSD/2.* | OpenBSD/3.@<:@012345678@:>@)
-
-If your version is not in that list, e.g., 3.9, add the version
-number.  In this case, you would just need to add a 9 after the 8.
-If you modify configure.in, you will need to regenerate configure
-with autoconf.
-
-If your version is already in the list, this is not a known problem.
-Please submit a bug report here:
-
-    http://sourceforge.net/tracker/?group_id=5470&atid=105470
diff --git a/Misc/cheatsheet b/Misc/cheatsheet
deleted file mode 100644 (file)
index ebbf1d4..0000000
+++ /dev/null
@@ -1,2179 +0,0 @@
-                          Python 2.3 Quick Reference
-
-
- 25 Jan 2003  upgraded by Raymond Hettinger for Python 2.3
- 16 May 2001  upgraded by Richard Gruet and Simon Brunning for Python 2.0
- 2000/07/18  upgraded by Richard Gruet, rgruet@intraware.com for Python 1.5.2
-from V1.3 ref
-1995/10/30, by Chris Hoffmann, choffman@vicorp.com
-
-Based on:
-    Python Bestiary, Author: Ken Manheimer, ken.manheimer@nist.gov
-    Python manuals, Authors: Guido van Rossum and Fred Drake
-    What's new in Python 2.0, Authors: A.M. Kuchling and Moshe Zadka
-    python-mode.el, Author: Tim Peters, tim_one@email.msn.com
-
-    and the readers of comp.lang.python
-
-Python's nest: http://www.python.org     Developement: http://
-python.sourceforge.net/    ActivePython : http://www.ActiveState.com/ASPN/
-Python/
-newsgroup: comp.lang.python  Help desk: help@python.org
-Resources: http://starship.python.net/
-           http://www.vex.net/parnassus/
-           http://aspn.activestate.com/ASPN/Cookbook/Python
-FAQ:       http://www.python.org/cgi-bin/faqw.py
-Full documentation: http://www.python.org/doc/
-Excellent reference books:
-           Python Essential Reference by David Beazley (New Riders)
-           Python Pocket Reference by Mark Lutz (O'Reilly)
-
-
-Invocation Options
-
-python [-diOStuUvxX?] [-c command | script | - ] [args]
-
-                              Invocation Options
-Option                                  Effect
--c cmd  program passed in as string (terminates option list)
--d      Outputs parser debugging information (also PYTHONDEBUG=x)
--E      ignore environment variables (such as PYTHONPATH)
--h      print this help message and exit
--i      Inspect interactively after running script (also PYTHONINSPECT=x) and
-        force prompts, even if stdin appears not to be a terminal
--m mod  run library module as a script (terminates option list
--O      optimize generated bytecode (a tad; also PYTHONOPTIMIZE=x)
--OO     remove doc-strings in addition to the -O optimizations
--Q arg  division options: -Qold (default), -Qwarn, -Qwarnall, -Qnew
--S      Don't perform 'import site' on initialization
--u      Unbuffered binary stdout and stderr (also PYTHONUNBUFFERED=x).
--v      Verbose (trace import statements) (also PYTHONVERBOSE=x)
--W arg : warning control (arg is action:message:category:module:lineno)
--x      Skip first line of source, allowing use of non-unix Forms of #!cmd
--?      Help!
--c      Specify the command to execute (see next section). This terminates the
-command option list (following options are passed as arguments to the command).
-        the name of a python file (.py) to execute read from stdin.
-script  Anything afterward is passed as options to python script or command,
-        not interpreted as an option to interpreter itself.
-args    passed to script or command (in sys.argv[1:])
-        If no script or command, Python enters interactive mode.
-
-  * Available IDEs in std distrib: IDLE (tkinter based, portable), Pythonwin
-    (Windows).
-
-
-
-Environment variables
-
-                             Environment variables
-    Variable                                 Effect
-PYTHONHOME       Alternate prefix directory (or prefix;exec_prefix). The
-                 default module search path uses prefix/lib
-                 Augments the default search path for module files. The format
-                 is the same as the shell's $PATH: one or more directory
-                 pathnames separated by ':' or ';' without spaces around
-                 (semi-)colons!
-PYTHONPATH       On Windows first search for Registry key HKEY_LOCAL_MACHINE\
-                 Software\Python\PythonCore\x.y\PythonPath (default value). You
-                 may also define a key named after your application with a
-                 default string value giving the root directory path of your
-                 app.
-                 If this is the name of a readable file, the Python commands in
-PYTHONSTARTUP    that file are executed before the first prompt is displayed in
-                 interactive mode (no default).
-PYTHONDEBUG      If non-empty, same as -d option
-PYTHONINSPECT    If non-empty, same as -i option
-PYTHONSUPPRESS   If non-empty, same as -s option
-PYTHONUNBUFFERED If non-empty, same as -u option
-PYTHONVERBOSE    If non-empty, same as -v option
-PYTHONCASEOK     If non-empty, ignore case in file/module names (imports)
-
-
-
-
-Notable lexical entities
-
-Keywords
-
-    and       del       for       is        raise
-    assert    elif      from      lambda    return
-    break     else      global    not       try
-    class     except    if        or        while
-    continue  exec      import    pass      yield
-    def       finally   in        print
-
-  * (list of keywords in std module: keyword)
-  * Illegitimate Tokens (only valid in strings): @ $ ?
-  * A statement must all be on a single line. To break a statement over
-    multiple lines use "\", as with the C preprocessor.
-    Exception: can always break when inside any (), [], or {} pair, or in
-    triple-quoted strings.
-  * More than one statement can appear on a line if they are separated with
-    semicolons (";").
-  * Comments start with "#" and continue to end of line.
-
-Identifiers
-
-        (letter | "_")  (letter | digit | "_")*
-
-  * Python identifiers keywords, attributes, etc. are case-sensitive.
-  * Special forms: _ident (not imported by 'from module import *'); __ident__
-    (system defined name);
-               __ident (class-private name mangling)
-
-Strings
-
-    "a string enclosed by double quotes"
-    'another string delimited by single quotes and with a " inside'
-    '''a string containing embedded newlines and quote (') marks, can be
-    delimited with triple quotes.'''
-    """ may also use 3- double quotes as delimiters """
-    u'a unicode string'   U"Another unicode string"
-    r'a raw string where \ are kept (literalized): handy for regular
-    expressions and windows paths!'
-    R"another raw string"    -- raw strings cannot end with a \
-    ur'a unicode raw string'   UR"another raw unicode"
-
-        Use \ at end of line to continue a string on next line.
-        adjacent strings are concatened, e.g. 'Monty' ' Python' is the same as
-        'Monty Python'.
-        u'hello' + ' world'  --> u'hello world'   (coerced to unicode)
-
-    String Literal Escapes
-
-     \newline  Ignored (escape newline)
-     \\ Backslash (\)        \e Escape (ESC)        \v Vertical Tab (VT)
-     \' Single quote (')     \f Formfeed (FF)       \OOO char with octal value OOO
-     \" Double quote (")     \n Linefeed (LF)
-     \a Bell (BEL)           \r Carriage Return (CR) \xHH  char with hex value HH
-     \b Backspace (BS)       \t Horizontal Tab (TAB)
-     \uHHHH  unicode char with hex value HHHH, can only be used in unicode string
-     \UHHHHHHHH  unicode char with hex value HHHHHHHH, can only be used in unicode string
-     \AnyOtherChar is left as-is
-
-  * NUL byte (\000) is NOT an end-of-string marker; NULs may be embedded in
-    strings.
-  * Strings (and tuples) are immutable: they cannot be modified.
-
-Numbers
-
-    Decimal integer: 1234, 1234567890546378940L        (or l)
-    Octal integer: 0177, 0177777777777777777 (begin with a 0)
-    Hex integer: 0xFF, 0XFFFFffffFFFFFFFFFF (begin with 0x or 0X)
-    Long integer (unlimited precision): 1234567890123456
-    Float (double precision): 3.14e-10, .001, 10., 1E3
-    Complex: 1J, 2+3J, 4+5j (ends with J or j, + separates (float) real and
-    imaginary parts)
-
-Sequences
-
-  * String of length 0, 1, 2 (see above)
-    '', '1', "12", 'hello\n'
-  * Tuple of length 0, 1, 2, etc:
-    () (1,) (1,2)     # parentheses are optional if len > 0
-  * List of length 0, 1, 2, etc:
-    [] [1] [1,2]
-
-Indexing is 0-based. Negative indices (usually) mean count backwards from end
-of sequence.
-
-Sequence slicing [starting-at-index : but-less-than-index]. Start defaults to
-'0'; End defaults to 'sequence-length'.
-
-a = (0,1,2,3,4,5,6,7)
-    a[3] ==> 3
-    a[-1] ==> 7
-    a[2:4] ==> (2, 3)
-    a[1:] ==> (1, 2, 3, 4, 5, 6, 7)
-    a[:3] ==> (0, 1, 2)
-    a[:] ==> (0,1,2,3,4,5,6,7)  # makes a copy of the sequence.
-
-Dictionaries (Mappings)
-
-    {}                              # Zero length empty dictionary
-    {1 : 'first'}                   # Dictionary with one (key, value) pair
-    {1 : 'first',  'next': 'second'}
-    dict([('one',1),('two',2)])     # Construct a dict from an item list
-    dict('one'=1, 'two'=2)          # Construct a dict using keyword args
-    dict.fromkeys(['one', 'keys'])  # Construct a dict from a sequence
-
-Operators and their evaluation order
-
-                     Operators and their evaluation order
-Highest             Operator                             Comment
-        (...) [...] {...} `...`           Tuple, list & dict. creation; string
-                                          conv.
-        s[i]  s[i:j]  s.attr f(...)       indexing & slicing; attributes, fct
-                                          calls
-        +x, -x, ~x                        Unary operators
-        x**y                              Power
-        x*y  x/y  x%y x//y                mult, division, modulo, floor division
-        x+y  x-y                          addition, subtraction
-        x<<y   x>>y                       Bit shifting
-        x&y                               Bitwise and
-        x^y                               Bitwise exclusive or
-        x|y                               Bitwise or
-        x<y  x<=y  x>y  x>=y  x==y x!=y   Comparison,
-        x is y   x is not y               membership
-        x in s   x not in s
-        not x                             boolean negation
-        x and y                           boolean and
-        x or y                            boolean or
-Lowest  lambda args: expr                 anonymous function
-
-Alternate names are defined in module operator (e.g. __add__ and add for +)
-Most operators are overridable.
-
-Many binary operators also support augmented assignment:
-        x += 1                            # Same as x = x + 1
-
-
-Basic Types and Their Operations
-
-Comparisons (defined between *any* types)
-
-               Comparisons
-Comparison         Meaning          Notes
-<          strictly less than        (1)
-<=         less than or equal to
->          strictly greater than
->=         greater than or equal to
-==         equal to
-!=         not equal to
-is         object identity           (2)
-is not     negated object identity   (2)
-
-Notes :
-    Comparison behavior can be overridden for a given class by defining special
-method __cmp__.
-    The above comparisons return True or False which are of type bool
-(a subclass of int) and behave exactly as 1 or 0 except for their type and
-that they print as True or False instead of 1 or 0.
-    (1) X < Y < Z < W has expected meaning, unlike C
-    (2) Compare object identities (i.e. id(object)), not object values.
-
-Boolean values and operators
-
-                         Boolean values and operators
-              Value or Operator                         Returns           Notes
-None, numeric zeros, empty sequences and      False
-mappings
-all other values                              True
-not x                                         True if x is False, else
-                                              True
-x or y                                        if x is False then y, else   (1)
-                                              x
-x and y                                       if x is False then x, else   (1)
-                                              y
-
-Notes :
-    Truth testing behavior can be overridden for a given class by defining
-special method __bool__.
-    (1) Evaluate second arg only if necessary to determine outcome.
-
-None
-
-    None is used as default return value on functions. Built-in single object
-    with type NoneType.
-    Input that evaluates to None does not print when running Python
-    interactively.
-
-Numeric types
-
-Floats and integers.
-
-    Floats are implemented with C doubles.
-    Integers have unlimited size (only limit is system resources)
-
-Operators on all numeric types
-
-           Operators on all numeric types
- Operation                    Result
-abs(x)       the absolute value of x
-int(x)       x converted to integer
-float(x)     x converted to floating point
--x           x negated
-+x           x unchanged
-x + y        the sum of x and y
-x - y        difference of x and y
-x * y        product of x and y
-x / y        quotient of x and y
-x % y        remainder of x / y
-divmod(x, y) the tuple (x/y, x%y)
-x ** y       x to the power y (the same as pow(x, y))
-
-Bit operators on integers
-
-              Bit operators
-Operation             >Result
-~x        the bits of x inverted
-x ^ y     bitwise exclusive or of x and y
-x & y     bitwise and of x and y
-x | y     bitwise or of x and y
-x << n    x shifted left by n bits
-x >> n    x shifted right by n bits
-
-Complex Numbers
-
-  * represented as a pair of machine-level double precision floating point
-    numbers.
-  * The real and imaginary value of a complex number z can be retrieved through
-    the attributes z.real and z.imag.
-
-Numeric exceptions
-
-TypeError
-    raised on application of arithmetic operation to non-number
-OverflowError
-     numeric bounds exceeded
-ZeroDivisionError
-     raised when zero second argument of div or modulo op
-FloatingPointError
-     raised when a floating point operation fails
-
-Operations on all sequence types (lists, tuples, strings)
-
-                Operations on all sequence types
-Operation                     Result                     Notes
-x in s     True if an item of s is equal to x, else False
-x not in s False if an item of s is equal to x, else True
-for x in s: loops over the sequence
-s + t      the concatenation of s and t
-s * n, n*s n copies of s concatenated
-s[i]       i'th item of s, origin 0                       (1)
-s[i:j]     slice of s from i (included) to j (excluded) (1), (2)
-len(s)     length of s
-min(s)     smallest item of s
-max(s)     largest item of (s)
-iter(s)    returns an iterator over s.  iterators define __iter__ and next()
-
-Notes :
-    (1) if i or j is negative, the index is relative to the end of the string,
-ie len(s)+ i or len(s)+j is
-         substituted. But note that -0 is still 0.
-    (2) The slice of s from i to j is defined as the sequence of items with
-index k such that i <= k < j.
-          If i or j is greater than len(s), use len(s). If i is omitted, use
-len(s). If i is greater than or
-          equal to j, the slice is empty.
-
-Operations on mutable (=modifiable) sequences (lists)
-
-                 Operations on mutable sequences
-   Operation                      Result                   Notes
-s[i] =x          item i of s is replaced by x
-s[i:j] = t       slice of s from i to j is replaced by t
-del s[i:j]       same as s[i:j] = []
-s.append(x)      same as s[len(s) : len(s)] = [x]
-s.count(x)       return number of i's for which s[i] == x
-s.extend(x)      same as s[len(s):len(s)]= x
-s.index(x)       return smallest i such that s[i] == x      (1)
-s.insert(i, x)   same as s[i:i] = [x] if i >= 0
-s.pop([i])       same as x = s[i]; del s[i]; return x       (4)
-s.remove(x)      same as del s[s.index(x)]                  (1)
-s.reverse()      reverse the items of s in place            (3)
-s.sort([cmpFct]) sort the items of s in place             (2), (3)
-
-Notes :
-    (1) raise a ValueError exception when x is not found in s (i.e. out of
-range).
-     (2) The sort() method takes an optional argument specifying a comparison
-fct of 2 arguments (list items) which should
-          return -1, 0, or 1 depending on whether the 1st argument is
-considered smaller than, equal to, or larger than the 2nd
-          argument. Note that this slows the sorting process down considerably.
-     (3) The sort() and reverse() methods modify the list in place for economy
-of space when sorting or reversing a large list.
-           They don't return the sorted or reversed list to remind you of this
-side effect.
-     (4) [New 1.5.2] The optional  argument i defaults to -1, so that by default the last
-item is removed and returned.
-
-
-
-Operations on mappings (dictionaries)
-
-                         Operations on mappings
-        Operation                          Result                  Notes
-len(d)                     the number of items in d
-d[k]                       the item of d with key k                 (1)
-d[k] = x                   set d[k] to x
-del d[k]                   remove d[k] from d                       (1)
-d.clear()                  remove all items from d
-d.copy()                   a shallow copy of d
-d.get(k,defaultval)        the item of d with key k                 (4)
-d.has_key(k)               True if d has key k, else False
-d.items()                  a copy of d's list of (key, item) pairs  (2)
-d.iteritems()              an iterator over (key, value) pairs      (7)
-d.iterkeys()               an iterator over the keys of d           (7)
-d.itervalues()             an iterator over the values of d         (7)
-d.keys()                   a copy of d's list of keys               (2)
-d1.update(d2)              for k, v in d2.items(): d1[k] = v        (3)
-d.values()                 a copy of d's list of values             (2)
-d.pop(k)                   remove d[k] and return its value
-d.popitem()                remove and return an arbitrary           (6)
-                           (key, item) pair
-d.setdefault(k,defaultval) the item of d with key k                 (5)
-
-    Notes :
-      TypeError is raised if key is not acceptable
-      (1) KeyError is raised if key k is not in the map
-      (2) Keys and values are listed in random order
-      (3) d2 must be of the same type as d1
-      (4) Never raises an exception if k is not in the map, instead it returns
-    defaultVal.
-          defaultVal is optional, when not provided and k is not in the map,
-    None is returned.
-      (5) Never raises an exception if k is not in the map, instead it returns
-    defaultVal, and adds k to map with value defaultVal. defaultVal is
-    optional. When not provided and k is not in the map, None is returned and
-    added to map.
-      (6) Raises a KeyError if the dictionary is emtpy.
-      (7) While iterating over a dictionary, the values may be updated but
-          the keys cannot be changed.
-
-Operations on strings
-
-Note that these string methods largely (but not completely) supersede the
-functions available in the string module.
-
-
-                             Operations on strings
-    Operation                             Result                          Notes
-s.capitalize()    return a copy of s with only its first character
-                  capitalized.
-s.center(width)   return a copy of s centered in a string of length width  (1)
-                  .
-s.count(sub[      return the number of occurrences of substring sub in     (2)
-,start[,end]])    string s.
-s.decode(([       return a decoded version of s.                           (3)
-  encoding
-  [,errors]])
-s.encode([        return an encoded version of s. Default encoding is the
-  encoding        current default string encoding.                         (3)
-  [,errors]])
-s.endswith(suffix return true if s ends with the specified suffix,         (2)
-  [,start[,end]]) otherwise return False.
-s.expandtabs([    return a copy of s where all tab characters are          (4)
-tabsize])         expanded using spaces.
-s.find(sub[,start return the lowest index in s where substring sub is      (2)
-[,end]])          found. Return -1 if sub is not found.
-s.index(sub[      like find(), but raise ValueError when the substring is  (2)
-,start[,end]])    not found.
-s.isalnum()       return True if all characters in s are alphanumeric,     (5)
-                  False otherwise.
-s.isalpha()       return True if all characters in s are alphabetic,       (5)
-                  False otherwise.
-s.isdigit()       return True if all characters in s are digit             (5)
-                  characters, False otherwise.
-s.islower()       return True if all characters in s are lowercase, False  (6)
-                  otherwise.
-s.isspace()       return True if all characters in s are whitespace        (5)
-                  characters, False otherwise.
-s.istitle()       return True if string s is a titlecased string, False    (7)
-                  otherwise.
-s.isupper()       return True if all characters in s are uppercase, False  (6)
-                  otherwise.
-s.join(seq)       return a concatenation of the strings in the sequence
-                  seq, separated by 's's.
-s.ljust(width)    return s left justified in a string of length width.    (1),
-                                                                           (8)
-s.lower()         return a copy of s converted to lowercase.
-s.lstrip()        return a copy of s with leading whitespace removed.
-s.replace(old,    return a copy of s with all occurrences of substring     (9)
-new[, maxsplit])  old replaced by new.
-s.rfind(sub[      return the highest index in s where substring sub is     (2)
-,start[,end]])    found. Return -1 if sub is not found.
-s.rindex(sub[     like rfind(), but raise ValueError when the substring    (2)
-,start[,end]])    is not found.
-s.rjust(width)    return s right justified in a string of length width.   (1),
-                                                                           (8)
-s.rstrip()        return a copy of s with trailing whitespace removed.
-s.split([sep[     return a list of the words in s, using sep as the       (10)
-,maxsplit]])      delimiter string.
-s.splitlines([    return a list of the lines in s, breaking at line       (11)
-keepends])        boundaries.
-s.startswith      return true if s starts with the specified prefix,
-(prefix[,start[   otherwise return false.                                  (2)
-,end]])
-s.strip()         return a copy of s with leading and trailing whitespace
-                  removed.
-s.swapcase()      return a copy of s with uppercase characters converted
-                  to lowercase and vice versa.
-                  return a titlecased copy of s, i.e. words start with
-s.title()         uppercase characters, all remaining cased characters
-                  are lowercase.
-s.translate(table return a copy of s mapped through translation table     (12)
-[,deletechars])   table.
-s.upper()         return a copy of s converted to uppercase.
-s.zfill(width)    return a string padded with zeroes on the left side and
-                  sliding a minus sign left if necessary.  never truncates.
-
-Notes :
-    (1) Padding is done using spaces.
-    (2) If optional argument start is supplied, substring s[start:] is
-processed. If optional arguments start and end are supplied, substring s[start:
-end] is processed.
-    (3) Optional argument errors may be given to set a different error handling
-scheme. The default for errors is 'strict', meaning that encoding errors raise
-a ValueError. Other possible values are 'ignore' and 'replace'.
-    (4) If optional argument tabsize is not given, a tab size of 8 characters
-is assumed.
-    (5) Returns false if string s does not contain at least one character.
-    (6) Returns false if string s does not contain at least one cased
-character.
-    (7) A titlecased string is a string in which uppercase characters may only
-follow uncased characters and lowercase characters only cased ones.
-    (8) s is returned if width is less than len(s).
-    (9) If the optional argument maxsplit is given, only the first maxsplit
-occurrences are replaced.
-    (10) If sep is not specified or None, any whitespace string is a separator.
-If maxsplit is given, at most maxsplit splits are done.
-    (11) Line breaks are not included in the resulting list unless keepends is
-given and true.
-    (12) table must be a string of length 256. All characters occurring in the
-optional argument deletechars are removed prior to translation.
-
-String formatting with the % operator
-
-formatString % args--> evaluates to a string
-
-  * formatString uses C printf format codes : %, c, s, i, d, u, o, x, X, e, E,
-    f, g, G, r (details below).
-  * Width and precision may be a * to specify that an integer argument gives
-    the actual width or precision.
-  * The flag characters -, +, blank, # and 0 are understood. (details below)
-  * %s will convert any type argument to string (uses str() function)
-  * args may be a single arg or a tuple of args
-
-        '%s has %03d quote types.' % ('Python', 2)  # => 'Python has 002 quote types.'
-
-  * Right-hand-side can also be a mapping:
-
-        a = '%(lang)s has %(c)03d quote types.' % {'c':2, 'lang':'Python}
-(vars() function very handy to use on right-hand-side.)
-
-                                 Format codes
-Conversion                               Meaning
-d          Signed integer decimal.
-i          Signed integer decimal.
-o          Unsigned octal.
-u          Unsigned decimal.
-x          Unsigned hexadecimal (lowercase).
-X          Unsigned hexadecimal (uppercase).
-e          Floating point exponential format (lowercase).
-E          Floating point exponential format (uppercase).
-f          Floating point decimal format.
-F          Floating point decimal format.
-g          Same as "e" if exponent is greater than -4 or less than precision,
-           "f" otherwise.
-G          Same as "E" if exponent is greater than -4 or less than precision,
-           "F" otherwise.
-c          Single character (accepts integer or single character string).
-r          String (converts any python object using repr()).
-s          String (converts any python object using str()).
-%          No argument is converted, results in a "%" character in the result.
-           (The complete specification is %%.)
-
-                          Conversion flag characters
-Flag                                  Meaning
-#    The value conversion will use the ``alternate form''.
-0    The conversion will be zero padded.
--    The converted value is left adjusted (overrides "-").
-     (a space) A blank should be left before a positive number (or empty
-     string) produced by a signed conversion.
-+    A sign character ("+" or "-") will precede the conversion (overrides a
-     "space" flag).
-
-File Objects
-
-Created with built-in function open; may be created by other modules' functions
-as well.
-
-Operators on file objects
-
-                                File operations
-    Operation                                Result
-f.close()         Close file f.
-f.fileno()        Get fileno (fd) for file f.
-f.flush()         Flush file f's internal buffer.
-f.isatty()        True if file f is connected to a tty-like dev, else False.
-f.read([size])    Read at most size bytes from file f and return as a string
-                  object. If size omitted, read to EOF.
-f.readline()      Read one entire line from file f.
-f.readlines()     Read until EOF with readline() and return list of lines read.
-                  Set file f's position, like "stdio's fseek()".
-f.seek(offset[,   whence == 0 then use absolute indexing.
-whence=0])        whence == 1 then offset relative to current pos.
-                  whence == 2 then offset relative to file end.
-f.tell()          Return file f's current position (byte offset).
-f.write(str)      Write string to file f.
-f.writelines(list Write list of strings to file f.
-)
-
-File Exceptions
-
-  EOFError
-     End-of-file hit when reading (may be raised many times, e.g. if f is a
-    tty).
-  IOError
-     Other I/O-related I/O operation failure.
-  OSError
-     OS system call failed.
-
-
-    Advanced Types
-
-    -See manuals for more details -
-      + Module objects
-      + Class objects
-      + Class instance objects
-      + Type objects (see module: types)
-      + File objects (see above)
-      + Slice objects
-      + XRange objects
-      + Callable types:
-          o User-defined (written in Python):
-              # User-defined Function objects
-              # User-defined Method objects
-          o Built-in (written in C):
-              # Built-in Function objects
-              # Built-in Method objects
-      + Internal Types:
-          o Code objects (byte-compile executable Python code: bytecode)
-          o Frame objects (execution frames)
-          o Traceback objects (stack trace of an exception)
-
-
-    Statements
-
-    pass            -- Null statement
-    del name[,name]* -- Unbind name(s) from object. Object will be indirectly
-                        (and automatically) deleted only if no longer referenced.
-    print [>> fileobject,] [s1 [, s2 ]* [,]
-                    -- Writes to sys.stdout, or to fileobject if supplied.
-                       Puts spaces between arguments. Puts newline at end
-                       unless statement ends with comma.
-                       Print is not required when running interactively,
-                       simply typing an expression will print its value,
-                       unless the value is None.
-    exec x [in globals [,locals]]
-                    -- Executes x in namespaces provided. Defaults
-                       to current namespaces. x can be a string, file
-                       object or a function object.
-    callable(value,... [id=value], [*args], [**kw])
-                    -- Call function callable with parameters. Parameters can
-                       be passed by name or be omitted if function
-                       defines default values. E.g. if callable is defined as
-                       "def callable(p1=1, p2=2)"
-                       "callable()"       <=>  "callable(1, 2)"
-                       "callable(10)"     <=>  "callable(10, 2)"
-                       "callable(p2=99)"  <=>  "callable(1, 99)"
-                       *args is a tuple of positional arguments.
-                       **kw is a dictionary of keyword arguments.
-
-    Assignment operators
-
-                              Caption
-    Operator                    Result                     Notes
-    a = b    Basic assignment - assign object b to label a  (1)
-    a += b   Roughly equivalent to a = a + b                (2)
-    a -= b   Roughly equivalent to a = a - b                (2)
-    a *= b   Roughly equivalent to a = a * b                (2)
-    a /= b   Roughly equivalent to a = a / b                (2)
-    a %= b   Roughly equivalent to a = a % b                (2)
-    a **= b  Roughly equivalent to a = a ** b               (2)
-    a &= b   Roughly equivalent to a = a & b                (2)
-    a |= b   Roughly equivalent to a = a | b                (2)
-    a ^= b   Roughly equivalent to a = a ^ b                (2)
-    a >>= b  Roughly equivalent to a = a >> b               (2)
-    a <<= b  Roughly equivalent to a = a << b               (2)
-
-    Notes :
-        (1) Can unpack tuples, lists, and strings.
-           first, second = a[0:2]; [f, s] = range(2); c1,c2,c3='abc'
-           Tip: x,y = y,x swaps x and y.
-        (2) Not exactly equivalent - a is evaluated only once. Also, where
-    possible, operation performed in-place - a is modified rather than
-    replaced.
-
-    Control Flow
-
-    if condition: suite
-    [elif condition: suite]*
-    [else: suite]   -- usual if/else_if/else statement
-    while condition: suite
-    [else: suite]
-                    -- usual while statement. "else" suite is executed
-                       after loop exits, unless the loop is exited with
-                       "break"
-    for element in sequence: suite
-    [else: suite]
-                    -- iterates over sequence, assigning each element to element.
-                       Use built-in range function to iterate a number of times.
-                       "else" suite executed at end unless loop exited
-                       with "break"
-    break           -- immediately exits "for" or "while" loop
-    continue        -- immediately does next iteration of "for" or "while" loop
-    return [result] -- Exits from function (or method) and returns result (use a tuple to
-                       return more than one value). If no result given, then returns None.
-    yield result    -- Freezes the execution frame of a generator and returns the result
-                       to the iterator's .__next__() method.  Upon the next call to __next__(),
-                       resumes execution at the frozen point with all of the local variables
-                       still intact.
-
-    Exception Statements
-
-    assert expr[, message]
-                    -- expr is evaluated. if false, raises exception AssertionError
-                       with message. Inhibited if __debug__ is 0.
-    try: suite1
-    [except [exception [, value]: suite2]+
-    [else: suite3]
-                    -- statements in suite1 are executed. If an exception occurs, look
-                       in "except" clauses for matching <exception>. If matches or bare
-                       "except" execute suite of that clause. If no exception happens
-                       suite in "else" clause is executed after suite1.
-                       If exception has a value, it is put in value.
-                       exception can also be tuple of exceptions, e.g.
-                       "except (KeyError, NameError), val: print val"
-    try: suite1
-    finally: suite2
-                    -- statements in suite1 are executed. If no
-                       exception, execute suite2 (even if suite1 is
-                       exited with a "return", "break" or "continue"
-                       statement). If exception did occur, executes
-                       suite2 and then immediately reraises exception.
-    raise exception [,value [, traceback]]
-                    -- raises exception with optional value
-                       value. Arg traceback specifies a traceback object to
-                       use when printing the exception's backtrace.
-    raise           -- a raise statement without arguments re-raises
-                       the last exception raised in the current function
-An exception is either a string (object) or a class instance.
-  Can create a new one simply by creating a new string:
-
-              my_exception = 'You did something wrong'
-      try:
-                   if bad:
-              raise my_exception, bad
-      except my_exception, value:
-                    print 'Oops', value
-
-Exception classes must be derived from the predefined class: Exception, e.g.:
-            class text_exception(Exception): pass
-            try:
-                if bad:
-                    raise text_exception()
-                    # This is a shorthand for the form
-                    # "raise <class>, <instance>"
-             except Exception:
-                 print 'Oops'
-                 # This will be printed because
-                 # text_exception is a subclass of Exception
-When an error message is printed for an unhandled exception which is a
-class, the class name is printed, then a colon and a space, and
-finally the instance converted to a string using the built-in function
-str().
-All built-in exception classes derives from Exception, itself
-derived from BaseException.
-
-Name Space Statements
-
-[1.51: On Mac & Windows, the case of module file names must now match the case
-as used
-  in the import statement]
-Packages (>1.5): a package is a name space which maps to a directory including
-                module(s) and the special initialization module '__init__.py'
-                (possibly empty). Packages/dirs can be nested. You address a
-                module's symbol via '[package.[package...]module.symbol's.
-import module1 [as name1] [, module2]*
-                -- imports modules. Members of module must be
-                   referred to by qualifying with [package.]module name:
-                   "import sys; print sys.argv:"
-                   "import package1.subpackage.module; package1.subpackage.module.foo()"
-                   module1 renamed as name1, if supplied.
-from module import name1 [as othername1] [, name2]*
-                -- imports names from module module in current namespace.
-                   "from sys import argv; print argv"
-                   "from package1 import module; module.foo()"
-                   "from package1.module import foo; foo()"
-                   name1 renamed as othername1, if supplied.
-from module import *
-                -- imports all names in module, except those starting with "_";
-                   *to be used sparsely, beware of name clashes* :
-                   "from sys import *; print argv"
-                   "from package.module import *; print x'
-                    NB: "from package import *" only imports the symbols defined
-                    in the package's __init__.py file, not those in the
-                    template modules!
-global name1 [, name2]*
-                -- names are from global scope (usually meaning from module)
-                   rather than local (usually meaning only in function).
-                -- E.g. in fct without "global" statements, assuming
-                   "a" is name that hasn't been used in fct or module
-                   so far:
-                   -Try to read from "a" -> NameError
-                   -Try to write to "a" -> creates "a" local to fcn
-                   -If "a" not defined in fct, but is in module, then
-                       -Try to read from "a", gets value from module
-                       -Try to write to "a", creates "a" local to fct
-                   But note "a[0]=3" starts with search for "a",
-                   will use to global "a" if no local "a".
-
-Function Definition
-
-def func_id ([param_list]): suite
-                -- Creates a function object & binds it to name func_id.
-
-    param_list ::= [id [, id]*]
-    id ::= value | id = value | *id | **id
-    [Args are passed by value.Thus only args representing a mutable object
-    can be modified (are inout parameters). Use a tuple to return more than
-    one value]
-
-Example:
-        def test (p1, p2 = 1+1, *rest, **keywords):
-            -- Parameters with "=" have default value (v is
-               evaluated when function defined).
-               If list has "*id" then id is assigned a tuple of
-               all remaining args passed to function (like C vararg)
-               If list has "**id" then id is assigned a dictionary of
-               all extra arguments passed as keywords.
-
-Class Definition
-
-class <class_id> [(<super_class1> [,<super_class2>]*)]: <suite>
-        -- Creates a class object and assigns it name <class_id>
-           <suite> may contain local "defs" of class methods and
-           assignments to class attributes.
-Example:
-       class my_class (class1, class_list[3]): ...
-                  Creates a class object inheriting from both "class1" and whatever
-                  class object "class_list[3]" evaluates to. Assigns new
-                  class object to name "my_class".
-        - First arg to class methods is always instance object, called 'self'
-          by convention.
-        - Special method __init__() is called when instance is created.
-        - Special method __del__() called when no more reference to object.
-        - Create instance by "calling" class object, possibly with arg
-          (thus instance=apply(aClassObject, args...) creates an instance!)
-        - In current implementation, can't subclass off built-in
-          classes. But can "wrap" them, see UserDict & UserList modules,
-          and see __getattr__() below.
-Example:
-        class c (c_parent):
-           def __init__(self, name): self.name = name
-           def print_name(self): print "I'm", self.name
-           def call_parent(self): c_parent.print_name(self)
-           instance = c('tom')
-           print instance.name
-           'tom'
-           instance.print_name()
-           "I'm tom"
-        Call parent's super class by accessing parent's method
-        directly and passing "self" explicitly (see "call_parent"
-        in example above).
-        Many other special methods available for implementing
-        arithmetic operators, sequence, mapping indexing, etc.
-
-Documentation Strings
-
-Modules, classes and functions may be documented by placing a string literal by
-itself as the first statement in the suite. The documentation can be retrieved
-by getting the '__doc__' attribute from the module, class or function.
-Example:
-        class C:
-            "A description of C"
-            def __init__(self):
-                "A description of the constructor"
-                # etc.
-Then c.__doc__ == "A description of C".
-Then c.__init__.__doc__ == "A description of the constructor".
-
-Others
-
-lambda [param_list]: returnedExpr
-                -- Creates an anonymous function. returnedExpr must be
-                   an expression, not a statement (e.g., not "if xx:...",
-                   "print xxx", etc.) and thus can't contain newlines.
-                   Used mostly for filter(), map() functions, and GUI callbacks..
-List comprehensions
-result = [expression for item1 in sequence1  [if condition1]
-                        [for item2 in sequence2 ... for itemN in sequenceN]
-                      ]
-is equivalent to:
-result = []
-for item1 in sequence1:
-    for item2 in sequence2:
-    ...
-        for itemN in sequenceN:
-             if (condition1) and furthur conditions:
-                  result.append(expression)
-
-
-
-Built-In Functions
-
-                              Built-In Functions
-     Function                                 Result
-__import__(name[,   Imports module within the given context (see lib ref for
-globals[, locals[,  more details)
-fromlist]]])
-abs(x)              Return the absolute value of number x.
-bool(x)             Returns True when the argument x is true and False otherwise.
-buffer(obj)         Creates a buffer reference to an object.
-chr(i)              Returns one-character string whose ASCII code isinteger i
-classmethod(f)      Converts a function f, into a method with the class as the
-                    first argument.  Useful for creating alternative constructors.
-cmp(x,y)            Returns negative, 0, positive if x <, ==, > to y
-compile(string,     from which the code was read, or eg. '<string>'if not read
-filename, kind)     from file.kind can be 'eval' if string is a single stmt, or
-                    'single' which prints the output of expression statements
-                    that evaluate to something else than None, or be 'exec'.
-complex(real[,      Builds a complex object (can also be done using J or j
-image])             suffix,e.g. 1+3J)
-delattr(obj, name)  deletes attribute named name of object obj <=> del obj.name
-                    If no args, returns the list of names in current
-dict([items])       Create a new dictionary from the specified item list.
-dir([object])       local symbol table. With a module, class or class
-                    instance object as arg, returns list of names in its attr.
-                    dict.
-divmod(a,b)         Returns tuple of (a/b, a%b)
-enumerate(seq)      Return a iterator giving:  (0, seq[0]), (1, seq[1]), ...
-eval(s[, globals[,  Eval string s in (optional) globals, locals contexts.s must
-locals]])           have no NUL's or newlines. s can also be acode object.
-                    Example: x = 1; incr_x = eval('x + 1')
-filter(function,    Constructs a list from those elements of sequence for which
-sequence)           function returns true. function takes one parameter.
-float(x)            Converts a number or a string to floating point.
-getattr(object,     [<default> arg added in 1.5.2]Gets attribute called name
-name[, default]))   from object,e.g. getattr(x, 'f') <=> x.f). If not found,
-                    raises AttributeError or returns default if specified.
-globals()           Returns a dictionary containing current global variables.
-hasattr(object,     Returns true if object has attr called name.
-name)
-hash(object)        Returns the hash value of the object (if it has one)
-help(f)             Display documentation on object f.
-hex(x)              Converts a number x to a hexadecimal string.
-id(object)          Returns a unique 'identity' integer for an object.
-int(x[, base])      base paramenter specifies base from which to convert string
-                    values.
-isinstance(obj,     Returns true if obj is an instance of class. Ifissubclass
-class)              (A,B) then isinstance(x,A) => isinstance(x,B)
-issubclass(class1,  returns true if class1 is derived from class2
-class2)
-                    Returns the length (the number of items) of an object
-iter(collection)    Returns an iterator over the collection.
-len(obj)            (sequence, dictionary, or instance of class implementing
-                    __len__).
-list(sequence)      Converts sequence into a list. If already a list,returns a
-                    copy of it.
-locals()            Returns a dictionary containing current local variables.
-                    Applies function to every item of list and returns a listof
-map(function, list, the results. If additional arguments are passed,function
-...)                must take that many arguments and it is givento function on
-                    each call.
-max(seq)            Returns the largest item of the non-empty sequence seq.
-min(seq)            Returns the smallest item of a non-empty sequence seq.
-oct(x)              Converts a number to an octal string.
-open(filename [,    Returns a new file object. First two args are same asthose
-mode='r', [bufsize= for C's "stdio open" function. bufsize is 0for unbuffered,
-implementation      1 for line-buffered, negative forsys-default, all else, of
-dependent]])        (about) given size.
-ord(c)              Returns integer ASCII value of c (a string of len 1). Works
-                    with Unicode char.
-object()            Create a base type.  Used as a superclass for new-style objects.
-open(name           Open a file.
-  [, mode
-  [, buffering]])
-pow(x, y [, z])     Returns x to power y [modulo z]. See also ** operator.
-property()          Created a property with access controlled by functions.
-range(start [,end   Returns list of ints from >= start and < end. With 1 arg,
-[, step]])          list from 0..arg-1. With 2 args, list from start..end-1.
-                    With 3 args, list from start up to end by step
-                    after fixing it.
-repr(object)        Returns a string containing a printable and if possible
-                    evaluable representation of an object. 
-                    Class redefinable (__repr__). See also str().
-round(x, n=0)       Returns the floating point value x rounded to n digitsafter
-                    the decimal point.
-setattr(object,     This is the counterpart of getattr(). setattr(o, 'foobar',
-name, value)        3) <=> o.foobar = 3. Creates attribute if it doesn't exist!
-slice([start,] stop Returns a slice object representing a range, with R/
-[, step])           O attributes: start, stop, step.
-staticmethod()      Convert a function to method with no self or class
-                    argument.  Useful for methods associated with a class that
-                    do not need access to an object's internal state.
-str(object)         Returns a string containing a nicely
-                    printable representation of an object. Class overridable
-                    (__str__).See also repr().
-super(type)         Create an unbound super object.  Used to call cooperative
-                    superclass methods.
-sum(sequence,       Add the values in the sequence and return the sum.
-    [start]) 
-tuple(sequence)     Creates a tuple with same elements as sequence. If already
-                    a tuple, return itself (not a copy).
-                    Returns a type object [see module types] representing
-                    thetype of obj. Example: import typesif type(x) ==
-type(obj)           types.StringType: print 'It is a string'NB: it is
-                    recommanded to use the following form:if isinstance(x,
-                    types.StringType): etc...
-unichr(code)        code.
-unicode(string[,    Creates a Unicode string from a 8-bit string, using
-encoding[, error    thegiven encoding name and error treatment ('strict',
-]]])                'ignore',or 'replace'}.
-                    Without arguments, returns a dictionary correspondingto the
-                    current local symbol table. With a module,class or class
-vars([object])      instance object as argumentreturns a dictionary
-                    corresponding to the object'ssymbol table. Useful with "%"
-                    formatting operator.
-zip(seq1[, seq2,    Returns an iterator of tuples where each tuple contains
-...])               the nth element of each of the argument sequences.
-
-
-
-Built-In Exceptions
-
-Exception>
-         Root class for all exceptions
-    SystemExit
-         On 'sys.exit()'
-    StopIteration
-         Signal the end from iterator.__next__()
-        ArithmeticError
-                 Base class for OverflowError, ZeroDivisionError,
-    FloatingPointError
-            FloatingPointError
-                       When a floating point operation fails.
-            OverflowError
-                            On excessively large arithmetic operation
-            ZeroDivisionError
-                  On division or modulo operation with 0 as 2nd arg
-            AssertionError
-                When an assert statement fails.
-        AttributeError
-                    On attribute reference or assignment failure
-        EnvironmentError    [new in 1.5.2]
-                On error outside Python; error arg tuple is (errno, errMsg...)
-            IOError    [changed in 1.5.2]
-               I/O-related operation failure
-            OSError    [new in 1.5.2]
-               used by the os module's os.error exception.
-        EOFError
-                    Immediate end-of-file hit by input() or raw_input()
-        ImportError
-         On failure of `import' to find module or name
-        KeyboardInterrupt
-         On user entry of the interrupt key (often `Control-C')
-        LookupError
-                base class for IndexError, KeyError
-            IndexError
-                 On out-of-range sequence subscript
-            KeyError
-                 On reference to a non-existent mapping (dict) key
-        MemoryError
-         On recoverable memory exhaustion
-        NameError
-         On failure to find a local or global (unqualified) name
-        RuntimeError
-         Obsolete catch-all; define a suitable error instead
-          NotImplementedError   [new in 1.5.2]
-                On method not implemented
-        SyntaxError
-         On parser encountering a syntax error
-       IndentationError
-           On parser encountering an indentation syntax error
-       TabError
-           On parser encountering an indentation syntax error
-        SystemError
-         On non-fatal interpreter error - bug - report it
-        TypeError
-         On passing inappropriate type to built-in op or func
-        ValueError
-         On arg error not covered by TypeError or more precise
-    Warning
-              UserWarning
-              DeprecationWarning
-              PendingDeprecationWarning
-              SyntaxWarning
-              RuntimeWarning
-              FutureWarning
-
-
-
-Standard methods & operators redefinition in classes
-
-Standard methods & operators map to special '__methods__' and thus may be
- redefined (mostly in user-defined classes), e.g.:
-    class x:
-         def __init__(self, v): self.value = v
-         def __add__(self, r): return self.value + r
-    a = x(3) # sort of like calling x.__init__(a, 3)
-    a + 4    # is equivalent to a.__add__(4)
-
-Special methods for any class
-
-(s: self, o: other)
-        __init__(s, args) instance initialization (on construction)
-        __del__(s)        called on object demise (refcount becomes 0)
-        __repr__(s)       repr() and `...` conversions
-        __str__(s)        str() and 'print' statement
-        __cmp__(s, o)     Compares s to o and returns <0, 0, or >0.
-                          Implements >, <, == etc...
-        __hash__(s)       Compute a 32 bit hash code; hash() and dictionary ops
-        __bool__(s)    Returns False or True for truth value testing
-        __getattr__(s, name)  called when attr lookup doesn't find <name>
-        __setattr__(s, name, val) called when setting an attr
-                                  (inside, don't use "self.name = value"
-                                   use "self.__dict__[name] = val")
-        __delattr__(s, name)  called to delete attr <name>
-        __call__(self, *args) called when an instance is called as function.
-
-Operators
-
-    See list in the operator module. Operator function names are provided with
-    2 variants, with or without
-    ading & trailing '__' (eg. __add__ or add).
-
-    Numeric operations special methods
-    (s: self, o: other)
-
-        s+o       =  __add__(s,o)         s-o        =  __sub__(s,o)
-        s*o       =  __mul__(s,o)         s/o        =  __div__(s,o)
-        s%o       =  __mod__(s,o)         divmod(s,o) = __divmod__(s,o)
-        s**o      =  __pow__(s,o)
-        s&o       =  __and__(s,o)
-        s^o       =  __xor__(s,o)         s|o        =  __or__(s,o)
-        s<<o      =  __lshift__(s,o)      s>>o       =  __rshift__(s,o)
-        bool(s) = __bool__(s) (used in boolean testing)
-        -s        =  __neg__(s)           +s         =  __pos__(s)
-        abs(s)    =  __abs__(s)           ~s         =  __invert__(s)  (bitwise)
-        s+=o      =  __iadd__(s,o)        s-=o       =  __isub__(s,o)
-        s*=o      =  __imul__(s,o)        s/=o       =  __idiv__(s,o)
-        s%=o      =  __imod__(s,o)
-        s**=o     =  __ipow__(s,o)
-        s&=o      =  __iand__(s,o)
-        s^=o      =  __ixor__(s,o)        s|=o       =  __ior__(s,o)
-        s<<=o     =  __ilshift__(s,o)     s>>=o      =  __irshift__(s,o)
-        Conversions
-        int(s)    =  __int__(s)
-        float(s)  =  __float__(s)         complex(s)    =  __complex__(s)
-        oct(s)    =  __oct__(s)           hex(s)     =  __hex__(s)
-        Right-hand-side equivalents for all binary operators exist;
-        are called when class instance is on r-h-s of operator:
-        a + 3  calls __add__(a, 3)
-        3 + a  calls __radd__(a, 3)
-
-    All seqs and maps, general operations plus:
-    (s: self, i: index or key)
-
-        len(s)    = __len__(s)        length of object, >= 0.  Length 0 == false
-        s[i]      = __getitem__(s,i)  Element at index/key i, origin 0
-
-    Sequences, general methods, plus:
-      s[i]=v           = __setitem__(s,i,v)
-      del s[i]         = __delitem__(s,i)
-      s[i:j]           = __getslice__(s,i,j)
-      s[i:j]=seq       = __setslice__(s,i,j,seq)
-      del s[i:j]       = __delslice__(s,i,j)   == s[i:j] = []
-      seq * n          = __repeat__(seq, n)
-      s1 + s2          = __concat__(s1, s2)
-      i in s           = __contains__(s, i)
-    Mappings, general methods, plus
-      hash(s)          = __hash__(s) - hash value for dictionary references
-      s[k]=v           = __setitem__(s,k,v)
-      del s[k]         = __delitem__(s,k)
-
-Special informative state attributes for some types:
-
-    Modules:
-        __doc__ (string/None, R/O): doc string (<=> __dict__['__doc__'])
-        __name__(string, R/O): module name (also in __dict__['__name__'])
-        __dict__ (dict, R/O): module's name space
-        __file__(string/undefined, R/O): pathname of .pyc, .pyo or .pyd (undef for
-                 modules statically linked to the interpreter)
-
-    Classes:    [in bold: writable since 1.5.2]
-        __doc__ (string/None, R/W): doc string (<=> __dict__['__doc__'])
-        __module__ is the module name in which the class was defined
-        __name__(string, R/W): class name (also in __dict__['__name__'])
-        __bases__ (tuple, R/W): parent classes
-        __dict__ (dict, R/W): attributes (class name space)
-
-    Instances:
-        __class__ (class, R/W): instance's class
-        __dict__ (dict, R/W): attributes
-
-    User-defined functions: [bold: writable since 1.5.2]
-        __doc__ (string/None, R/W): doc string
-        __name__(string, R/O): function name
-        func_doc (R/W): same as __doc__
-        func_name (R/O): same as __name__
-        func_defaults (tuple/None, R/W): default args values if any
-        func_code (code, R/W): code object representing the compiled function body
-        func_globals (dict, R/O): ref to dictionary of func global variables
-        func_dict (dict, R/W):  same as __dict__ contains the namespace supporting
-            arbitrary function attributes
-        func_closure (R/O): None or a tuple of cells that contain bindings
-            for the function's free variables.
-
-
-    User-defined Methods:
-        __doc__ (string/None, R/O): doc string
-        __name__(string, R/O): method name (same as im_func.__name__)
-        im_class (class, R/O): class defining the method (may be a base class)
-        im_self (instance/None, R/O): target instance object (None if unbound)
-        im_func (function, R/O): function object
-
-    Built-in Functions & methods:
-        __doc__ (string/None, R/O): doc string
-        __name__ (string, R/O): function name
-        __self__ : [methods only] target object
-
-    Codes:
-        co_name (string, R/O): function name
-        co_argcount (int, R/0): number of positional args
-        co_nlocals (int, R/O): number of local vars (including args)
-        co_varnames (tuple, R/O): names of local vars (starting with args)
-        co_cellvars (tuple, R/O)) the names of local variables referenced by
-            nested functions
-        co_freevars (tuple, R/O)) names of free variables
-        co_code (string, R/O): sequence of bytecode instructions
-        co_consts (tuple, R/O): litterals used by the bytecode, 1st one is
-                                fct doc (or None)
-        co_names (tuple, R/O): names used by the bytecode
-        co_filename (string, R/O): filename from which the code was compiled
-        co_firstlineno (int, R/O): first line number of the function
-        co_lnotab (string, R/O): string encoding bytecode offsets to line numbers.
-        co_stacksize (int, R/O): required stack size (including local vars)
-        co_flags (int, R/O): flags for the interpreter
-                           bit 2 set if fct uses "*arg" syntax
-                           bit 3 set if fct uses '**keywords' syntax
-    Frames:
-        f_back (frame/None, R/O): previous stack frame (toward the caller)
-        f_code (code, R/O): code object being executed in this frame
-        f_locals (dict, R/O): local vars
-        f_globals (dict, R/O): global vars
-        f_builtins (dict, R/O): built-in (intrinsic) names
-        f_restricted (int, R/O): flag indicating whether fct is executed in
-                                 restricted mode
-        f_lineno (int, R/O): current line number
-        f_lasti (int, R/O): precise instruction (index into bytecode)
-        f_trace (function/None, R/W): debug hook called at start of each source line
-    Tracebacks:
-        tb_next (frame/None, R/O): next level in stack trace (toward the frame where
-                                  the exception occurred)
-        tb_frame (frame, R/O): execution frame of the current level
-        tb_lineno (int, R/O): line number where the exception occurred
-        tb_lasti (int, R/O): precise instruction (index into bytecode)
-
-    Slices:
-        start (any/None, R/O): lowerbound
-        stop (any/None, R/O): upperbound
-        step (any/None, R/O): step value
-
-    Complex numbers:
-        real (float, R/O): real part
-        imag (float, R/O): imaginary part
-
-
-Important Modules
-
-                                      sys
-
-                              Some sys variables
-      Variable                                Content
-argv                 The list of command line arguments passed to aPython
-                     script. sys.argv[0] is the script name.
-builtin_module_names A list of strings giving the names of all moduleswritten
-                     in C that are linked into this interpreter.
-check_interval       How often to check for thread switches or signals(measured
-                     in number of virtual machine instructions)
-last_type,           Set only when an exception not handled andinterpreter
-last_value,          prints an error. Used by debuggers.
-last_traceback
-maxint               maximum positive value for integers
-modules              Dictionary of modules that have already been loaded.
-path                 Search path for external modules. Can be modifiedby
-                     program. sys.path[0] == dir of script executing
-platform             The current platform, e.g. "sunos5", "win32"
-ps1, ps2             prompts to use in interactive mode.
-                     File objects used for I/O. One can redirect byassigning a
-stdin, stdout,       new file object to them (or any object:.with a method
-stderr               write(string) for stdout/stderr,.with a method readline()
-                     for stdin)
-version              string containing version info about Python interpreter.
-                     (and also: copyright, dllhandle, exec_prefix, prefix)
-version_info         tuple containing Python version info - (major, minor,
-                     micro, level, serial).
-
-                              Some sys functions
-     Function                                 Result
-exit(n)            Exits with status n. Raises SystemExit exception.(Hence can
-                   be caught and ignored by program)
-getrefcount(object Returns the reference count of the object. Generally one
-)                  higher than you might expect, because of object arg temp
-                   reference.
-setcheckinterval(  Sets the interpreter's thread switching interval (in number
-interval)          of virtual code instructions, default:100).
-settrace(func)     Sets a trace function: called before each line ofcode is
-                   exited.
-setprofile(func)   Sets a profile function for performance profiling.
-                   Info on exception currently being handled; this is atuple
-                   (exc_type, exc_value, exc_traceback).Warning: assigning the
-exc_info()         traceback return value to a local variable in a
-                   function handling an exception will cause a circular
-                   reference.
-getrecursionlimit  Retrieve maximum recursion depth.
-()
-setrecursionlimit  Set maximum recursion depth. (Defaults to 1000.)
-()
-
-
-
-                                      os
-"synonym" for whatever O/S-specific module is proper for current environment.
-this module uses posix whenever possible.
-(see also M.A. Lemburg's utility http://www.lemburg.com/files/python/
-platform.py)
-
-                               Some os variables
-     Variable                                 Meaning
-name                name of O/S-specific module (e.g. "posix", "mac", "nt")
-path                O/S-specific module for path manipulations.
-                    On Unix, os.path.split() <=> posixpath.split()
-curdir              string used to represent current directory ('.')
-pardir              string used to represent parent directory ('..')
-sep                 string used to separate directories ('/' or '\'). Tip: use
-                    os.path.join() to build portable paths.
-altsep              Alternate sep
-if applicable (None
-otherwise)
-pathsep             character used to separate search path components (as in
-                    $PATH), eg. ';' for windows.
-linesep             line separator as used in binary files, ie '\n' on Unix, '\
-                    r\n' on Dos/Win, '\r'
-
-                               Some os functions
-     Function                                 Result
-makedirs(path[,     Recursive directory creation (create required intermediary
-mode=0777])         dirs); os.error if fails.
-removedirs(path)    Recursive directory delete (delete intermediary empty
-                    dirs); if fails.
-renames(old, new)   Recursive directory or file renaming; os.error if fails.
-
-
-
-                                     posix
-don't import this module directly, import os instead !
-(see also module: shutil for file copy & remove fcts)
-
-                            posix Variables
-Variable                             Meaning
-environ  dictionary of environment variables, e.g.posix.environ['HOME'].
-error    exception raised on POSIX-related error.
-         Corresponding value is tuple of errno code and perror() string.
-
-                             Some posix functions
-   Function                                 Result
-chdir(path)     Changes current directory to path.
-chmod(path,     Changes the mode of path to the numeric mode
-mode)
-close(fd)       Closes file descriptor fd opened with posix.open.
-_exit(n)        Immediate exit, with no cleanups, no SystemExit,etc. Should use
-                this to exit a child process.
-execv(p, args)  "Become" executable p with args args
-getcwd()        Returns a string representing the current working directory
-getpid()        Returns the current process id
-fork()          Like C's fork(). Returns 0 to child, child pid to parent.[Not
-                on Windows]
-kill(pid,       Like C's kill [Not on Windows]
-signal)
-listdir(path)   Lists (base)names of entries in directory path, excluding '.'
-                and '..'
-lseek(fd, pos,  Sets current position in file fd to position pos, expressedas
-how)            an offset relative to beginning of file (how=0), tocurrent
-                position (how=1), or to end of file (how=2)
-mkdir(path[,    Creates a directory named path with numeric mode (default 0777)
-mode])
-open(file,      Like C's open(). Returns file descriptor. Use file object
-flags, mode)    fctsrather than this low level ones.
-pipe()          Creates a pipe. Returns pair of file descriptors (r, w) [Not on
-                Windows].
-popen(command,  Opens a pipe to or from command. Result is a file object to
-mode='r',       read to orwrite from, as indicated by mode being 'r' or 'w'.
-bufSize=0)      Use it to catch acommand output ('r' mode) or to feed it ('w'
-                mode).
-remove(path)    See unlink.
-rename(src, dst Renames/moves the file or directory src to dst. [error iftarget
-)               name already exists]
-rmdir(path)     Removes the empty directory path
-read(fd, n)     Reads n bytes from file descriptor fd and return as string.
-                Returns st_mode, st_ino, st_dev, st_nlink, st_uid,st_gid,
-stat(path)      st_size, st_atime, st_mtime, st_ctime.[st_ino, st_uid, st_gid
-                are dummy on Windows]
-system(command) Executes string command in a subshell. Returns exitstatus of
-                subshell (usually 0 means OK).
-                Returns accumulated CPU times in sec (user, system, children's
-times()         user,children's sys, elapsed real time). [3 last not on
-                Windows]
-unlink(path)    Unlinks ("deletes") the file (not dir!) path. same as: remove
-utime(path, (   Sets the access & modified time of the file to the given tuple
-aTime, mTime))  of values.
-wait()          Waits for child process completion. Returns tuple ofpid,
-                exit_status [Not on Windows]
-waitpid(pid,    Waits for process pid to complete. Returns tuple ofpid,
-options)        exit_status [Not on Windows]
-write(fd, str)  Writes str to file fd. Returns nb of bytes written.
-
-
-
-                                   posixpath
-Do not import this module directly, import os instead and refer to this module
-as os.path. (e.g. os.path.exists(p)) !
-
-                           Some posixpath functions
- Function                                 Result
-abspath(p) Returns absolute path for path p, taking current working dir in
-           account.
-dirname/
-basename(p directory and name parts of the path p. See also split.
-)
-exists(p)  True if string p is an existing path (file or directory)
-expanduser Returns string that is (a copy of) p with "~" expansion done.
-(p)
-expandvars Returns string that is (a copy of) p with environment vars expanded.
-(p)        [Windows: case significant; must use Unix: $var notation, not %var%]
-getsize(   return the size in bytes of filename. raise os.error.
-filename)
-getmtime(  return last modification time of filename (integer nb of seconds
-filename)  since epoch).
-getatime(  return last access time of filename (integer nb of seconds since
-filename)  epoch).
-isabs(p)   True if string p is an absolute path.
-isdir(p)   True if string p is a directory.
-islink(p)  True if string p is a symbolic link.
-ismount(p) True if string p is a mount point [true for all dirs on Windows].
-join(p[,q  Joins one or more path components intelligently.
-[,...]])
-           Splits p into (head, tail) where tail is lastpathname component and
-split(p)   <head> is everything leadingup to that. <=> (dirname(p), basename
-           (p))
-splitdrive Splits path p in a pair ('drive:', tail) [Windows]
-(p)
-splitext(p Splits into (root, ext) where last comp of root contains no periods
-)          and ext is empty or startswith a period.
-           Calls the function visit with arguments(arg, dirname, names) for
-           each directory recursively inthe directory tree rooted at p
-walk(p,    (including p itself if it's a dir)The argument dirname specifies the
-visit, arg visited directory, the argumentnames lists the files in the
-)          directory. The visit function maymodify names to influence the set
-           of directories visited belowdirname, e.g., to avoid visiting certain
-           parts of the tree.
-
-
-
-                                    shutil
-high-level file operations (copying, deleting).
-
-                             Main shutil functions
-     Function                                 Result
-copy(src, dst)     Copies the contents of file src to file dst, retaining file
-                   permissions.
-copytree(src, dst  Recursively copies an entire directory tree rooted at src
-[, symlinks])      into dst (which should not already exist). If symlinks is
-                   true, links insrc are kept as such in dst.
-rmtree(path[,      Deletes an entire directory tree, ignoring errors if
-ignore_errors[,    ignore_errors true,or calling onerror(func, path,
-onerror]])         sys.exc_info()) if supplied with
-
-(and also: copyfile, copymode, copystat, copy2)
-
-time
-
-                                  Variables
-Variable                               Meaning
-altzone  signed offset of local DST timezone in sec west of the 0th meridian.
-daylight nonzero if a DST timezone is specified
-
-                                   Functions
-  Function                                 Result
-time()        return a float representing UTC time in seconds since the epoch.
-gmtime(secs), return a tuple representing time : (year aaaa, month(1-12),day
-localtime(    (1-31), hour(0-23), minute(0-59), second(0-59), weekday(0-6, 0 is
-secs)         monday), Julian day(1-366), daylight flag(-1,0 or 1))
-asctime(
-timeTuple),
-strftime(
-format,       return a formatted string representing time.
-timeTuple)
-mktime(tuple) inverse of localtime(). Return a float.
-strptime(     parse a formatted string representing time, return tuple as in
-string[,      gmtime().
-format])
-sleep(secs)   Suspend execution for <secs> seconds. <secs> can be a float.
-
-and also: clock, ctime.
-
-                                    string
-
-As of Python 2.0, much (though not all) of the functionality provided by the
-string module have been superseded by built-in string methods - see Operations
-on strings for details.
-
-                             Some string variables
-              Variable                                Meaning
-digits                               The string '0123456789'
-hexdigits, octdigits                 legal hexadecimal & octal digits
-letters, uppercase, lowercase,       Strings containing the appropriate
-whitespace                           characters
-index_error                          Exception raised by index() if substr not
-                                     found.
-
-                             Some string functions
-     Function                                 Result
-expandtabs(s,      returns a copy of string <s> with tabs expanded.
-tabSize)
-find/rfind(s, sub  Return the lowest/highest index in <s> where the substring
-[, start=0[, end=  <sub> is found such that <sub> is wholly contained ins
-0])                [start:end]. Return -1 if <sub> not found.
-ljust/rjust/center Return a copy of string <s> left/right justified/centerd in
-(s, width)         afield of given width, padded with spaces. <s> is
-                   nevertruncated.
-lower/upper(s)     Return a string that is (a copy of) <s> in lowercase/
-                   uppercase
-split(s[, sep=     Return a list containing the words of the string <s>,using
-whitespace[,       the string <sep> as a separator.
-maxsplit=0]])
-join(words[, sep=' Concatenate a list or tuple of words with
-'])                interveningseparators; inverse of split.
-replace(s, old,    Returns a copy of string <s> with all occurrences of
-new[, maxsplit=0]  substring<old> replaced by <new>. Limits to <maxsplit>
-                   firstsubstitutions if specified.
-strip(s)           Return a string that is (a copy of) <s> without leadingand
-                   trailing whitespace. see also lstrip, rstrip.
-
-
-
-                                   re (sre)
-
-Handles Unicode strings. Implemented in new module sre, re now a mere front-end
-for compatibility.
-Patterns are specified as strings. Tip: Use raw strings (e.g. r'\w*') to
-litteralize backslashes.
-
-
-                           Regular expression syntax
-   Form                                Description
-.          matches any character (including newline if DOTALL flag specified)
-^          matches start of the string (of every line in MULTILINE mode)
-$          matches end of the string (of every line in MULTILINE mode)
-*          0 or more of preceding regular expression (as many as possible)
-+          1 or more of preceding regular expression (as many as possible)
-?          0 or 1 occurrence of preceding regular expression
-*?, +?, ?? Same as *, + and ? but matches as few characters as possible
-{m,n}      matches from m to n repetitions of preceding RE
-{m,n}?     idem, attempting to match as few repetitions as possible
-[ ]        defines character set: e.g. '[a-zA-Z]' to match all letters(see also
-           \w \S)
-[^ ]       defines complemented character set: matches if char is NOT in set
-           escapes special chars '*?+&$|()' and introduces special sequences
-\          (see below). Due to Python string rules, write as '\\' orr'\' in the
-           pattern string.
-\\         matches a litteral '\'; due to Python string rules, write as '\\\\
-           'in pattern string, or better using raw string: r'\\'.
-|          specifies alternative: 'foo|bar' matches 'foo' or 'bar'
-(...)      matches any RE inside (), and delimits a group.
-(?:...)    idem but doesn't delimit a group.
-           matches if ... matches next, but doesn't consume any of the string
-(?=...)    e.g. 'Isaac (?=Asimov)' matches 'Isaac' only if followed by
-           'Asimov'.
-(?!...)    matches if ... doesn't match next. Negative of (?=...)
-(?P<name   matches any RE inside (), and delimits a named group. (e.g. r'(?P
->...)      <id>[a-zA-Z_]\w*)' defines a group named id)
-(?P=name)  matches whatever text was matched by the earlier group named name.
-(?#...)    A comment; ignored.
-(?letter)  letter is one of 'i','L', 'm', 's', 'x'. Set the corresponding flags
-           (re.I, re.L, re.M, re.S, re.X) for the entire RE.
-
-                               Special sequences
-Sequence                              Description
-number   matches content of the group of the same number; groups are numbered
-         starting from 1
-\A       matches only at the start of the string
-\b       empty str at beg or end of word: '\bis\b' matches 'is', but not 'his'
-\B       empty str NOT at beginning or end of word
-\d       any decimal digit (<=> [0-9])
-\D       any non-decimal digit char (<=> [^O-9])
-\s       any whitespace char (<=> [ \t\n\r\f\v])
-\S       any non-whitespace char (<=> [^ \t\n\r\f\v])
-\w       any alphaNumeric char (depends on LOCALE flag)
-\W       any non-alphaNumeric char (depends on LOCALE flag)
-\Z       matches only at the end of the string
-
-                         Variables
-Variable                       Meaning
-error    Exception when pattern string isn't a valid regexp.
-
-                                   Functions
-   Function                                 Result
-               Compile a RE pattern string into a regular expression object.
-               Flags (combinable by |):
-
-               I or IGNORECASE or (?i)
-                   case insensitive matching
-compile(       L or LOCALE or (?L)
-pattern[,          make \w, \W, \b, \B dependent on thecurrent locale
-flags=0])      M or MULTILINE or (?m)
-                   matches every new line and not onlystart/end of the whole
-                   string
-               S or DOTALL or (?s)
-                   '.' matches ALL chars, including newline
-               X or VERBOSE or (?x)
-                   Ignores whitespace outside character sets
-escape(string) return (a copy of) string with all non-alphanumerics
-               backslashed.
-match(pattern, if 0 or more chars at beginning of <string> match the RE pattern
-string[, flags string,return a corresponding MatchObject instance, or None if
-])             no match.
-search(pattern scan thru <string> for a location matching <pattern>, return
-, string[,     acorresponding MatchObject instance, or None if no match.
-flags])
-split(pattern, split <string> by occurrences of <pattern>. If capturing () are
-string[,       used inpattern, then occurrences of patterns or subpatterns are
-maxsplit=0])   also returned.
-findall(       return a list of non-overlapping matches in <pattern>, either a
-pattern,       list ofgroups or a list of tuples if the pattern has more than 1
-string)        group.
-               return string obtained by replacing the (<count> first) lefmost
-sub(pattern,   non-overlapping occurrences of <pattern> (a string or a RE
-repl, string[, object) in <string>by <repl>; <repl> can be a string or a fct
-count=0])      called with a single MatchObj arg, which must return the
-               replacement string.
-subn(pattern,
-repl, string[, same as sub(), but returns a tuple (newString, numberOfSubsMade)
-count=0])
-
-Regular Expression Objects
-
-
-(RE objects are returned by the compile fct)
-
-                          re object attributes
-Attribute                            Descrition
-flags      flags arg used when RE obj was compiled, or 0 if none provided
-groupindex dictionary of {group name: group number} in pattern
-pattern    pattern string from which RE obj was compiled
-
-                               re object methods
-  Method                                  Result
-            If zero or more characters at the beginning of string match this
-            regular expression, return a corresponding MatchObject instance.
-            Return None if the string does not match the pattern; note that
-            this is different from a zero-length match.
-            The optional second parameter pos gives an index in the string
-match(      where the search is to start; it defaults to 0. This is not
-string[,    completely equivalent to slicing the string; the '' pattern
-pos][,      character matches at the real beginning of the string and at
-endpos])    positions just after a newline, but not necessarily at the index
-            where the search is to start.
-            The optional parameter endpos limits how far the string will be
-            searched; it will be as if the string is endpos characters long, so
-            only the characters from pos to endpos will be searched for a
-            match.
-            Scan through string looking for a location where this regular
-search(     expression produces a match, and return a corresponding MatchObject
-string[,    instance. Return None if no position in the string matches the
-pos][,      pattern; note that this is different from finding a zero-length
-endpos])    match at some point in the string.
-            The optional pos and endpos parameters have the same meaning as for
-            the match() method.
-split(
-string[,    Identical to the split() function, using the compiled pattern.
-maxsplit=
-0])
-findall(    Identical to the findall() function, using the compiled pattern.
-string)
-sub(repl,
-string[,    Identical to the sub() function, using the compiled pattern.
-count=0])
-subn(repl,
-string[,    Identical to the subn() function, using the compiled pattern.
-count=0])
-
-Match Objects
-
-
-(Match objects are returned by the match & search functions)
-
-                            Match object attributes
-Attribute                              Description
-pos       value of pos passed to search or match functions; index intostring at
-          which RE engine started search.
-endpos    value of endpos passed to search or match functions; index intostring
-          beyond which RE engine won't go.
-re        RE object whose match or search fct produced this MatchObj instance
-string    string passed to match() or search()
-
-                            Match object functions
-Function                                 Result
-          returns one or more groups of the match. If one arg, result is a
-group([g1 string;if multiple args, result is a tuple with one item per arg. If
-, g2,     gi is 0,return value is entire matching string; if 1 <= gi <= 99,
-...])     returnstring matching group #gi (or None if no such group); gi may
-          also bea group name.
-          returns a tuple of all groups of the match; groups not
-groups()  participatingto the match have a value of None. Returns a string
-          instead of tupleif len(tuple)=1
-start(
-group),   returns indices of start & end of substring matched by group (or
-end(group Noneif group exists but doesn't contribute to the match)
-)
-span(     returns the 2-tuple (start(group), end(group)); can be (None, None)if
-group)    group didn't contibute to the match.
-
-
-
-                                     math
-
-Variables:
-pi
-e
-Functions (see ordinary C man pages for info):
-acos(x)
-asin(x)
-atan(x)
-atan2(x, y)
-ceil(x)
-cos(x)
-cosh(x)
-degrees(x)
-exp(x)
-fabs(x)
-floor(x)
-fmod(x, y)
-frexp(x)        -- Unlike C: (float, int) = frexp(float)
-ldexp(x, y)
-log(x [,base])
-log10(x)
-modf(x)         -- Unlike C: (float, float) = modf(float)
-pow(x, y)
-radians(x)
-sin(x)
-sinh(x)
-sqrt(x)
-tan(x)
-tanh(x)
-
-                                    getopt
-
-Functions:
-getopt(list, optstr)    -- Similar to C. <optstr> is option
-                           letters to look for. Put ':' after letter
-                           if option takes arg. E.g.
-    # invocation was "python test.py -c hi -a arg1 arg2"
-       opts, args =  getopt.getopt(sys.argv[1:], 'ab:c:')
-    # opts would be
-       [('-c', 'hi'), ('-a', '')]
-    # args would be
-       ['arg1', 'arg2']
-
-
-List of modules and packages in base distribution
-
-(built-ins and content of python Lib directory)
-(Python NT distribution, may be slightly different in other distributions)
-
-                           Standard library modules
-   Operation                                 Result
-aifc             Stuff to parse AIFF-C and AIFF files.
-asynchat         Support for 'chat' style protocols
-asyncore         Asynchronous File I/O (in select style)
-atexit           Register functions to be called at exit of Python interpreter.
-base64           Conversions to/from base64 RFC-MIME transport encoding .
-bdb              A generic Python debugger base class.
-binhex           Macintosh binhex compression/decompression.
-bisect           List bisection algorithms.
-bz2              Support for bz2 compression/decompression.
-calendar         Calendar printing functions.
-cgi              Wraps the WWW Forms Common Gateway Interface (CGI).
-cgitb            Utility for handling CGI tracebacks.
-cmd              A generic class to build line-oriented command interpreters.
-datetime         Basic date and time types.
-code             Utilities needed to emulate Python's interactive interpreter
-codecs           Lookup existing Unicode encodings and register new ones.
-colorsys         Conversion functions between RGB and other color systems.
-compileall       Force "compilation" of all .py files in a directory.
-configparser     Configuration file parser (much like windows .ini files)
-copy             Generic shallow and deep copying operations.
-copyreg          Helper to provide extensibility for pickle/cPickle.
-csv              Read and write files with comma separated values.
-dbm              Generic interface to all dbm clones (dbm.bsd, dbm.gnu,
-                 dbm.ndbm, dbm.dumb).
-dircache         Sorted list of files in a dir, using a cache.
-difflib          Tool for creating delta between sequences.
-dis              Bytecode disassembler.
-distutils        Package installation system.
-doctest          Tool for running and verifying tests inside doc strings.
-dospath          Common operations on DOS pathnames.
-email            Comprehensive support for internet email.
-filecmp          File comparison.
-fileinput        Helper class to quickly write a loop over all standard input
-                 files.
-fnmatch          Filename matching with shell patterns.
-formatter        A test formatter.
-fpformat         General floating point formatting functions.
-ftplib           An FTP client class. Based on RFC 959.
-gc               Perform garbacge collection, obtain GC debug stats, and tune
-                 GC parameters.
-getopt           Standard command line processing. See also ftp://
-                 www.pauahtun.org/pub/getargspy.zip
-getpass          Utilities to get a password and/or the current user name.
-glob             filename globbing.
-gzip             Read & write gzipped files.
-heapq            Priority queue implemented using lists organized as heaps.
-hmac             Keyed-Hashing for Message Authentication -- RFC 2104.
-html.entities    HTML entity definitions.
-html.parser      A parser for HTML and XHTML.
-http.client      HTTP client class.
-http.server      HTTP server services.
-ihooks           Hooks into the "import" mechanism.
-imaplib          IMAP4 client.Based on RFC 2060.
-imghdr           Recognizing image files based on their first few bytes.
-imputil          Privides a way of writing customised import hooks.
-inspect          Tool for probing live Python objects.
-keyword          List of Python keywords.
-linecache        Cache lines from files.
-locale           Support for number formatting using the current locale
-                 settings.
-logging          Python logging facility.
-macpath          Pathname (or related) operations for the Macintosh.
-macurl2path      Mac specific module for conversion between pathnames and URLs.
-mailbox          A class to handle a unix-style or mmdf-style mailbox.
-mailcap          Mailcap file handling (RFC 1524).
-mhlib            MH (mailbox) interface.
-mimetypes        Guess the MIME type of a file.
-mmap             Interface to memory-mapped files - they behave like mutable
-                 strings./font>
-multifile        Class to make multi-file messages easier to handle.
-mutex            Mutual exclusion -- for use with module sched.
-netrc
-nntplib          An NNTP client class. Based on RFC 977.
-ntpath           Common operations on DOS pathnames.
-nturl2path       Mac specific module for conversion between pathnames and URLs.
-optparse         A comprehensive tool for processing command line options.
-os               Either mac, dos or posix depending system.
-pdb              A Python debugger.
-pickle           Pickling (save and restore) of Python objects (a faster
-                 Cimplementation exists in built-in module: cPickle).
-pipes            Conversion pipeline templates.
-pkgunil          Utilities for working with Python packages.
-poplib           A POP3 client class. Based on the J. Myers POP3 draft.
-posixpath        Common operations on POSIX pathnames.
-pprint           Support to pretty-print lists, tuples, & dictionaries
-                 recursively.
-profile          Class for profiling python code.
-pstats           Class for printing reports on profiled python code.
-pydoc            Utility for generating documentation from source files.
-pty              Pseudo terminal utilities.
-pyexpat          Interface to the Expay XML parser.
-py_compile       Routine to "compile" a .py file to a .pyc file.
-pyclbr           Parse a Python file and retrieve classes and methods.
-queue            A multi-producer, multi-consumer queue.
-quopri           Conversions to/from quoted-printable transport encoding.
-random           Random variable generators
-re               Regular Expressions.
-reprlib          Redo repr() but with limits on most sizes.
-rlcompleter      Word completion for GNU readline 2.0.
-sched            A generally useful event scheduler class.
-shelve           Manage shelves of pickled objects.
-shlex            Lexical analyzer class for simple shell-like syntaxes.
-shutil           Utility functions usable in a shell-like program.
-site             Append module search paths for third-party packages to
-                 sys.path.
-smtplib          SMTP Client class (RFC 821)
-sndhdr           Several routines that help recognizing sound.
-socketserver     Generic socket server classes.
-stat             Constants and functions for interpreting stat/lstat struct.
-statvfs          Constants for interpreting statvfs struct as returned by
-                 os.statvfs()and os.fstatvfs() (if they exist).
-string           A collection of string operations.
-sunau            Stuff to parse Sun and NeXT audio files.
-sunaudio         Interpret sun audio headers.
-symbol           Non-terminal symbols of Python grammar (from "graminit.h").
-tabnanny         Check Python source for ambiguous indentation.
-tarfile          Facility for reading and writing to the *nix tarfile format.
-telnetlib        TELNET client class. Based on RFC 854.
-tempfile         Temporary file name allocation.
-textwrap         Object for wrapping and filling text.
-threading        Proposed new higher-level threading interfaces
-token            Tokens (from "token.h").
-tokenize         Compiles a regular expression that recognizes Python tokens.
-traceback        Format and print Python stack traces.
-tty              Terminal utilities.
-turtle           LogoMation-like turtle graphics
-types            Define names for all type symbols in the std interpreter.
-tzparse          Parse a timezone specification.
-unicodedata      Interface to unicode properties.
-urllib.parse     Parse URLs according to latest draft of standard.
-urllib.request   Open an arbitrary URL.
-urllib.robotparser  Parse robots.txt files, useful for web spiders.
-user             Hook to allow user-specified customization code to run.
-uu               UUencode/UUdecode.
-unittest         Utilities for implementing unit testing.
-wave             Stuff to parse WAVE files.
-weakref          Tools for creating and managing weakly referenced objects.
-webbrowser       Platform independent URL launcher.
-xdrlib           Implements (a subset of) Sun XDR (eXternal Data
-                 Representation).
-xml.dom          Classes for processing XML using the Document Object Model.
-xml.sax          Classes for processing XML using the SAX API.
-xmlrpc.client    Support for remote procedure calls using XML.
-xmlrpc.server    Create XMLRPC servers.
-zipfile          Read & write PK zipped files.
-
-
-
-* Built-ins *
-
-            sys                 Interpreter state vars and functions
-            __built-in__        Access to all built-in python identifiers
-            __main__            Scope of the interpreters main program, script or stdin
-            array               Obj efficiently representing arrays of basic values
-            math                Math functions of C standard
-            time                Time-related functions (also the newer datetime module)
-            marshal             Read and write some python values in binary format
-            struct              Convert between python values and C structs
-
-* Standard *
-
-            getopt              Parse cmd line args in sys.argv.  A la UNIX 'getopt'.
-            os                  A more portable interface to OS dependent functionality
-            re                  Functions useful for working with regular expressions
-            string              Useful string and characters functions and exceptions
-            random              Mersenne Twister pseudo-random number generator
-            _thread             Low-level primitives for working with process threads
-            threading           idem, new recommended interface.
-
-* Unix/Posix *
-
-            dbm                 Interface to Unix dbm databases
-            grp                 Interface to Unix group database
-            posix               OS functionality standardized by C and POSIX standards
-            posixpath           POSIX pathname functions
-            pwd                 Access to the Unix password database
-            select              Access to Unix select multiplex file synchronization
-            socket              Access to BSD socket interface
-
-* Tk User-interface Toolkit *
-
-            tkinter             Main interface to Tk
-
-* Multimedia *
-
-            audioop             Useful operations on sound fragments
-            imageop             Useful operations on images
-            jpeg                Access to jpeg image compressor and decompressor
-            rgbimg              Access SGI imglib image files
-
-* Cryptographic Extensions *
-
-            md5         Interface to RSA's MD5 message digest algorithm
-            sha         Interface to the SHA message digest algorithm
-            HMAC        Keyed-Hashing for Message Authentication -- RFC 2104.
-
-* SGI IRIX * (4 & 5)
-
-            al          SGI audio facilities
-            AL          al constants
-            fl          Interface to FORMS library
-            FL          fl constants
-            flp Functions for form designer
-            fm          Access to font manager library
-            gl          Access to graphics library
-            GL          Constants for gl
-            DEVICE      More constants for gl
-            imgfile     Imglib image file interface
-
-
-Workspace exploration and idiom hints
-
-        dir(<module>)   list functions, variables in <module>
-        dir()           get object keys, defaults to local name space
-        if __name__ == '__main__': main()            invoke main if running as script
-        map(None, lst1, lst2, ...)                   merge lists
-        b = a[:]                                     create copy of seq structure
-        _                       in interactive mode, is last value printed
-
-
-
-
-
-
-
-Python Mode for Emacs
-
-(Not revised, possibly not up to date)
-Type C-c ? when in python-mode for extensive help.
-INDENTATION
-Primarily for entering new code:
-        TAB      indent line appropriately
-        LFD      insert newline, then indent
-        DEL      reduce indentation, or delete single character
-Primarily for reindenting existing code:
-        C-c :    guess py-indent-offset from file content; change locally
-        C-u C-c :        ditto, but change globally
-        C-c TAB  reindent region to match its context
-        C-c <    shift region left by py-indent-offset
-        C-c >    shift region right by py-indent-offset
-MARKING & MANIPULATING REGIONS OF CODE
-C-c C-b         mark block of lines
-M-C-h           mark smallest enclosing def
-C-u M-C-h       mark smallest enclosing class
-C-c #           comment out region of code
-C-u C-c #       uncomment region of code
-MOVING POINT
-C-c C-p         move to statement preceding point
-C-c C-n         move to statement following point
-C-c C-u         move up to start of current block
-M-C-a           move to start of def
-C-u M-C-a       move to start of class
-M-C-e           move to end of def
-C-u M-C-e       move to end of class
-EXECUTING PYTHON CODE
-C-c C-c sends the entire buffer to the Python interpreter
-C-c |   sends the current region
-C-c !   starts a Python interpreter window; this will be used by
-        subsequent C-c C-c or C-c | commands
-C-c C-w runs PyChecker
-
-VARIABLES
-py-indent-offset        indentation increment
-py-block-comment-prefix comment string used by py-comment-region
-py-python-command       shell command to invoke Python interpreter
-py-scroll-process-buffer        t means always scroll Python process buffer
-py-temp-directory       directory used for temp files (if needed)
-py-beep-if-tab-change   ring the bell if tab-width is changed
-
-
-The Python Debugger
-
-(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)
-
-Accessing
-
-import pdb      (it's a module written in Python)
-        -- defines functions :
-           run(statement[,globals[, locals]])
-                        -- execute statement string under debugger control, with optional
-                           global & local environment.
-           runeval(expression[,globals[, locals]])
-                        -- same as run, but evaluate expression and return value.
-           runcall(function[, argument, ...])
-                        -- run function object with given arg(s)
-           pm()         -- run postmortem on last exception (like debugging a core file)
-           post_mortem(t)
-                        -- run postmortem on traceback object <t>
-
-        -- defines class Pdb :
-           use Pdb to create reusable debugger objects. Object
-           preserves state (i.e. break points) between calls.
-
-        runs until a breakpoint hit, exception, or end of program
-        If exception, variable '__exception__' holds (exception,value).
-
-Commands
-
-h, help
-        brief reminder of commands
-b, break [<arg>]
-        if <arg> numeric, break at line <arg> in current file
-        if <arg> is function object, break on entry to fcn <arg>
-        if no arg, list breakpoints
-cl, clear [<arg>]
-        if <arg> numeric, clear breakpoint at <arg> in current file
-        if no arg, clear all breakpoints after confirmation
-w, where
-        print current call stack
-u, up
-        move up one stack frame (to top-level caller)
-d, down
-        move down one stack frame
-s, step
-        advance one line in the program, stepping into calls
-n, next
-        advance one line, stepping over calls
-r, return
-        continue execution until current function returns
-        (return value is saved in variable "__return__", which
-        can be printed or manipulated from debugger)
-c, continue
-        continue until next breakpoint
-j, jump lineno
-        Set the next line that will be executed
-a, args
-        print args to current function
-rv, retval
-        prints return value from last function that returned
-p, print <arg>
-        prints value of <arg> in current stack frame
-l, list [<first> [, <last>]]
-               List source code for the current file.
-               Without arguments, list 11 lines around the current line
-               or continue the previous listing.
-               With one argument, list 11 lines starting at that line.
-               With two arguments, list the given range;
-               if the second argument is less than the first, it is a count.
-whatis <arg>
-        prints type of <arg>
-!
-        executes rest of line as a Python statement in the current stack frame
-q quit
-        immediately stop execution and leave debugger
-<return>
-        executes last command again
-Any input debugger doesn't recognize as a command is assumed to be a
-Python statement to execute in the current stack frame, the same way
-the exclamation mark ("!") command does.
-
-Example
-
-(1394) python
-Python 1.0.3 (Sep 26 1994)
-Copyright 1991-1994 Stichting Mathematisch Centrum, Amsterdam
->>> import rm
->>> rm.run()
-Traceback (innermost last):
-         File "<stdin>", line 1
-         File "./rm.py", line 7
-           x = div(3)
-         File "./rm.py", line 2
-           return a / r
-ZeroDivisionError: integer division or modulo
->>> import pdb
->>> pdb.pm()
-> ./rm.py(2)div: return a / r
-(Pdb) list
-         1     def div(a):
-         2  ->     return a / r
-         3
-         4     def run():
-         5         global r
-         6         r = 0
-         7         x = div(3)
-         8         print x
-[EOF]
-(Pdb) print r
-0
-(Pdb) q
->>> pdb.runcall(rm.run)
-etc.
-
-Quirks
-
-Breakpoints are stored as filename, line number tuples. If a module is reloaded
-after editing, any remembered breakpoints are likely to be wrong.
-
-Always single-steps through top-most stack frame. That is, "c" acts like "n".