6.1.2 ``Compiled'' Python files

As an important speed-up of the start-up time for short programs that use a lot of standard modules, if a file called `spam.pyc' exists in the directory where `spam.py' is found, this is assumed to contain an already-``compiled'' version of the module spam. The modification time of the version of `spam.py' used to create `spam.pyc' is recorded in `spam.pyc', and the file is ignored if these don't match.

Normally, you don't need to do anything to create the `spam.pyc' file. Whenever `spam.py' is successfully compiled, an attempt is made to write the compiled version to `spam.pyc'. It is not an error if this attempt fails; if for any reason the file is not written completely, the resulting `spam.pyc' file will be recognized as invalid and thus ignored later. The contents of the `spam.pyc' file is platform independent, so a Python module directory can be shared by machines of different architectures. (Tip for experts: the module compileall creates file.pyc files for all modules.)

XXX Should optimization with -O be covered here?



guido@CNRI.Reston.Va.US