On Aug 20, 8:08 pm, Hussein B <[EMAIL PROTECTED]> wrote: > Hey, > Suppose I have a Python application consists of many modules (lets say > it is a Django application). > If all the modules files are importing sys module, how many times the > sys module will be compiled and executed? > Only once (the first time the PVM locates, compiles and executes the > sys module)? or once for each module importing sys? > Thanks.
sys is a built-in module, so the answer is zero times. For a non-builtin module foo where there exists: (1) only a foo.py, it will be compiled into foo.pyc (2) only a foo.pyc, it will be used (3) both a foo.py and a foo.pyc, Python compiles the foo.py if the pyc is out of date or (so I believe [*]) was created by a different version of Python. Subsequent imports will use the in-memory copy (in sys.modules, IIRC [*]) ... [*] == Please save me the bother of checking this in the manual :-) HTH, John -- http://mail.python.org/mailman/listinfo/python-list