CONSTRUCT - Module Attributes and Execution Environment

Larry Bates larry.bates at websafe.com
Tue Aug 22 11:55:55 EDT 2006


lazaridis_com wrote:
> I would like to change the construct:
> 
> if __name__ == '__main__':
> 
> to something like:
> 
> if exec.isMain():
> 
> My (OO thought) is to place a class in an separate code module and to
> instantiate an singleton instance which would keep th something like
> this:
> 
> class ExecutionEnv:
>     def isMain(self)
>         if CALLING_MODULE.__name__ == '__main__':
>             return true
>         else
>             return false
> 
> exec = ExecutionEnv()
> 
> How to I get access to the CALLING_MODULE ?
> 
> -
> 
> Are ther alternative constructs/mechanism available, which could be
> used to add this functionality possiby directly to a code-module?
> 
Two thoughts:

1) Don't call a class instance exec, it will mask the built-in
exec statement.

2) IMHO all the suggestions are way more complicated than
if __name__ == "__main__" and are not SOP for most pythoneers.
I know what the former construct means/does.  I have to
decipher your class to figure our what the latter does and it
doesn't really save you any code or provide a performance
enhancement.

-Larry



More information about the Python-list mailing list