import imp, sys #import string def dynamically_load_module(name): if sys.modules.has_key(name): print name, "was already loaded!" return fp, filename, desc = imp.find_module(name) try: imp.acquire_lock() mod = imp.load_module(name, fp, filename, desc) imp.release_lock() print "Loaded: ", mod finally: if fp: fp.close() print sys.modules.keys() dynamically_load_module("string") print sys.modules.keys() print "sys.modules:", sys.modules["string"] print string # ^--- fails here with: #Traceback (most recent call last): # File "./idea9.py", line 23, in ? # print string #NameError: name 'string' is not defined