[Python-ideas] PEP for executing a module in a package containing relative imports
Jim Jewett
jimjjewett at gmail.com
Sun Apr 22 19:11:52 CEST 2007
On 4/21/07, Brett Cannon <brett at python.org> wrote:
> On 4/21/07, Josiah Carlson <jcarlson at uci.edu> wrote:
> > After reading other posts in the thread, I'm going to put my support
> > into the sys.main variant. It has all of the benefits of the builtin __name__
> > == __main__, with none of the drawbacks (no builtin!), and only a slight
> > annoyance of 'import sys', which is more or less free.
> Yeah, I am starting to like it as well. Steven and Jim, what do you think?
Better than adding a builtin.
I'm not sure I like the idea of another semi-random object in sys
either, though.
(1) One of the motivations was importing. It looks like __file__
already has sufficient information. I understand that relying on it
(or on __package__?) seems a bit hacky, but is it really worse than
adding something?
(2) Is there a reason the main module can't appear in sys.modules
twice, once under the alias "__main__"?
# Equivalent to today
if __name__ == sys.modules["__main__"].__name__:
# Better than today
if __name__ is sys.modules["__main__"].__name__:
# What I would like (pending PEP I hope to write tonight)
if __this_module__ is sys.modules["__main__"]:
-jJ
More information about the Python-ideas
mailing list