Size: 579
Comment:
|
Size: 922
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 3: | Line 3: |
If you ever need to dynamically import Python modules this short function will do the trick. The modules will be imported into the importing module's {{{__main__}}} scope. | If you ever need to dynamically import Python modules this short function will do the trick. The modules will be imported into the importing module's {{{__main__}}} scope. |
Line 7: | Line 7: |
""" This function will import modules into the global scope relative to this function. @param path: The path to the module. @param fromList: A list containing the items to import. @keyword asList: A one for one match to C{fromList} indication the names to be used in the import. """ |
Dynamically Importing Python Modules
If you ever need to dynamically import Python modules this short function will do the trick. The modules will be imported into the importing module's __main__ scope.
def importMods(path, fromList, asList=None): """ This function will import modules into the global scope relative to this function. @param path: The path to the module. @param fromList: A list containing the items to import. @keyword asList: A one for one match to C{fromList} indication the names to be used in the import. """ modules = __import__(path, globals(), locals(), fromList, -1) if not asList: asList = fromList if len(asList) != len(fromList): raise ValueError('asList != fromList') for asMod, mod in zip(asList, fromList): exec "importMods.func_globals['%s'] = modules.%s" % (asMod, mod)