[Python-ideas] PEP for executing a module in a package containing relative imports
Steven Bethard
steven.bethard at gmail.com
Sat Apr 21 00:14:44 CEST 2007
On 4/20/07, Christian Heimes <lists at cheimes.de> wrote:
> What about
>
> import sys
> if __name__ == sys.main:
> ...
>
> You won't have to introduce a new global module var __name__ and it's
> easy to understand for newbies and experienced developers. The code is
> only executed when the name of the current module is equal to the
> executed main module (sys.main).
But you have to understand a few things to understand why this works.
You have to know that __name__ is the name of the module, and that if
you want to find out the name of the main module, you need to look at
sys.main. With the idiom::
if __main__:
all you need to know is that the main module has __main__ set to true.
> IMO it's much less PIT...B then introducing __main__.
Could you elaborate? Do you think it would be hard to introduce
another module-level attribute (like we already do for __name__)? Or
do you think that the code would be hard to maintain? Or something
else...?
Steve
--
I'm not *in*-sane. Indeed, I am so far *out* of sane that you appear a
tiny blip on the distant coast of sanity.
--- Bucky Katt, Get Fuzzy
More information about the Python-ideas
mailing list