On Wed, Jan 20, 2010 at 7:19 AM, Victor Subervi <victorsube...@gmail.com>wrote:

> Hi;
> I think I finally have an interesting problem for y'all. I need to import a
> script from a lower dir, forcing me to change dirs:
>

Don't do that. If you must, then the correct way to do it is to adjust your
sys.path and not change directory. "sys.path.append('..')" or whatever.

But I really would just re-organize your code so you don't need such things.
Have a single top-level directory that's on your path, put a blank
__init__.py in all your directories, and use absolute imports everywhere.

from myapp.templateFrame import top, bottom
from myapp.some_directory.some_file import this, that

etc.



> Now, apparently because of python's problem with globals, when I call "id"
> as follows:
>
>
Python does not have problems with globals. You are repeatedly re-using the
same variable names, causing confusion and errors; when you say 'id' in that
line of code, Python doesn't think you are talking about the "id" that is
global. It thinks you are talking about the "id" that is local-- that you
define one line beneath.

Local has precedence over global. Don't shadow global variables (and 'id' is
a bad name, as it shadows a builtin variable)


--S
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to