David Isaac wrote: > Suppose I have inherited the structure > > PackageFolder/ > __init__.py > mod1.py > mod2.py > SubPackageFolder/ > __init__.py > mod3.py > > and mod3.py should really use a function in mod2.py. > *Prior* to Python 2.5, what is the best way to access that? > (Please assume that "move it" is not the answer.) > > Thanks, > Alan Isaac
To play with this I created a directory 'delmepy' in /usr/lib/python2.4/site-packages/ and gave it the following structure: $ ls -R /usr/lib/python2.4/site-packages/delmepy /usr/lib/python2.4/site-packages/delmepy: __init__.py mod2.py subp /usr/lib/python2.4/site-packages/delmepy/subp: __init__.py mod3.py Both __init__.py's are empty, mod2.py looks like this: def banana(n): print n and mod3.py looks like this: import delmepy.mod2 delmepy.mod2.banana(23) The following (at the interactive prompt) worked fine: >>> import delmepy.subp.mod3 23 I would assume (but I haven't checked) that this should work as long as delmepy (in your case PackageFolder) was somewhere on sys.path. HTH, ~Simon -- http://mail.python.org/mailman/listinfo/python-list