Claus Tondering wrote: > Thank you, I can use that in some cases. However, I need to import a > file that is not in the load path.
that's pretty straightforward: path = list(sys.path) sys.path.insert(0, "directory") try: module = __import__("module") finally: sys.path[:] = path # restore or, often as useful, namespace = {} execfile("directory/module.py", namespace) the latter executes the external code everything you run it (unlike import, which uses the sys.modules cache), and puts everything defined by the external script into the given dictionary. to import all that into your own module, you can do: globals().update(namespace) for extra bonus, you may want to check the __all__ attribute, and if that's not present, filter out anything that starts with an underscore: all_names = namespace.get("__all__") if all_names is None: all_names = (key for key in namespace where key[0] != "_") my_namespace = globals() for name in all_names: my_namespace[name] = namespace[name] </F> -- http://mail.python.org/mailman/listinfo/python-list