abcd írta: > If I have code which imports a module over and over again...say each > time a function is called, does that cause Python to actually re-import > it...or will it skip it once the module has been imported?? > > for example: > > def foo(): > import bar > bar.printStuff() > > foo() > foo() > foo() > foo() > > ...will that re-import bar 4 times...or just import it once? Just once. Try this:
bar.py: print "I have been imported" def printStuff(): print "printStuff was called" foo.py: def foo(): import bar bar.printStuff() foo() foo() foo() The result is: I have been imported printStuff was called printStuff was called printStuff was called If you really need to reimport the module, you can do this: foo.py: import bar def foo(): global bar bar = reload(bar) bar.printStuff() foo() foo() foo() The result is: I have been imported I have been imported printStuff was called I have been imported printStuff was called I have been imported printStuff was called > Is this a big performance hit? > It depends on the size of your 'bar.py' module, and also it depends on how often you need to change/reload while your program is running. Best, Laszlo -- http://mail.python.org/mailman/listinfo/python-list