A cleaner, though not shorter, rewriting could be: from itertools import chain
def ancestors(path):
while True:
yield path
parent = os.path.dirname(path)
if parent == path:
break
path = parent
for dir in chain([os.environ['HOME']],
ancestors(os.path.realpath('.'))):
modules_dir = os.path.join(dir, 'modules')
if os.path.exists(modules_dir):
sys.path.insert(0,modules_dir)
from foo import foo
break
HTH,
George
--
http://mail.python.org/mailman/listinfo/python-list
