On Tue, 06 Oct 2009 18:42:16 +0200, Diez B. Roggisch wrote: > The most common problem is that a file is used as module and as > executable at the same time. > > Like this: > > --- test.py --- > > class Foo(object): > pass > > > if __name__ == "__main__": > import test > assert Foo is test.Foo > > --- > > This will fail when executed from the commandline because the module is > known twice - once as "__main__", once as "test".
Why would a module need to import itself? Surely that's a very rare occurrence -- I think I've used it twice, in 12 years or so. I don't see why you need to disparage the idea of combining modules and scripts in the one file because of one subtle gotcha. -- Steven -- http://mail.python.org/mailman/listinfo/python-list