Gabriel Genellina wrote:
<div class="moz-text-flowed" style="font-family: -moz-fixed">En Fri,
30 Oct 2009 00:29:27 -0300, Steven D'Aprano
<st...@remove-this-cybersource.com.au> escribió:
On Thu, 29 Oct 2009 10:31:03 -0700, AK Eric wrote:
2/ in Python, "global" really means "module-level" - there's nothing
like a "true" global namespace.
<snip>
It isn't a neat trick anymore once you realize the name '__main__'
isn't special.
Replace __main__ with foo, or config, or whatever, and you get the
same results. Ok, there is a catch: a file with that name must exist,
at least an empty one...
You're just importing the same module from two places; changes done in
one place are reflected in the second place, like with any other object.
Thanks for saying that.
There are two interrelated advantages to using a separate module for the
purpose.
1) it avoids circular dependency
2) it makes it clear who gets to initialize these "globals"; if this
module doesn't import anything else (other than stdlib stuff), it'll run
to completion before anyone who tries to use these values. So it can
give them all their initial value, and avoid anyone else needing to do
any "existence check" nonsense.
When I've done it, I've called the module globals.py, or flags.py
depending on the primary intent.
DaveA
--
http://mail.python.org/mailman/listinfo/python-list