If I import a module1.py from the python command line in windows 7 I see the corresponding module1.pyc file appear in the Python32/pycache/ folder.  My understanding was that it is this bytecode which is executed by the Python interpreter, however I can delete the module1.pyc file and my module functions (module1.func1() etc...) can still be called from the command line.  What is running when the functions are called but the .pyc file is not there?  When the bytecode is compiled is it also copied to runtime memory for the Python shell?
The bytecode is in memory while running the interpreter. The .pyc files are a cache for the next import of the code, so that python will not have to parse the code if it has not changed.
How does Python run module code when there's no matching .pyc file?