In article <[EMAIL PROTECTED]>, John Salerno <[EMAIL PROTECTED]> wrote:
> > (http://docs.python.org/lib/built-in-funcs.html#l2h-24) > > "It is different from the import statement in that it does not use the > > module administration --" > > Just after the above statement, it also says: > > "it reads the file unconditionally and does not create a new module." > > so perhaps that means that it isn't really being imported the second > time, just that the contents are being executed? Interesting thought. I'm not convinced, though: firstly, I read that statement as describing what happens to the file named in the execfile() statement; and secondly, the problem *only* happens if the global dictionary passed to execfile() has a '__name__' and if the value of that key is sufficiently close to the name of the file being passed to execfile(). I found that passing __name__='whatever' resulted in normal import behaviour, and so does __name__='subtest', but curiously enough passing __name__='subtest.' results in the double import. -- http://mail.python.org/mailman/listinfo/python-list