Re: problem with import / namespace

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Laszlo Nagy

    Re: problem with import / namespace

    ohad frand wrote
    Hi
    Thanks for the answer.
    I probably didnt write the problem accurately but it is not as you
    described.
    (i already read before the section that you pointed and it didnt help me)
    the problem is that i dont want to import a file from different
    directory but only from the same directory.
    \\1\tmp2.py imports \\1\tmp1.py
    \\2\tmp2.py imports \\2\tmp2.py
    but when i execute the following script in the interpreter i get that
    the second tmp2.py file imports not the file from the same directory
    but the file that was already imported by the first executed tmp2.py file.
    I think that using absolute names DOES solve the problem.

    import two.tmp2 # This will import tmp2.py in "two" folder for sure!
    >execfile("tmp2 .py") <- here the executaion is OK
    >os.chdir("c:\\ 2")
    >execfile("tmp2 .py") <- here the execution is not ok because
    tmp2.py file imports the tmp1.py file from c:\\1 which is not OK
    Hmm looks like your tmp2.py file is not a module but a whole program. No
    wonder I could not understand you - I thought that "tmp2.py" is a
    module, not a program.

    The answer in this case: if tmp2.py is a program then you should either
    manipulate sys.path or chdir to the containing dir, as I told in my
    former post. ( os.split(os.abs path(__file...) )) -then chdir or
    sys.path.insert (0,mydir) )
    in between those two execfile commands i tried to do a lot of things
    but every time python imported the incorrect file for the second
    execution. (i am not building a package and those names are just
    examples for the problem, i am not really using 1 and 2 names as dirs)
    Why do you need execfile?

    Laszlo

Working...