Pat a écrit :
(snip)
Stripping out the extra variables and definitions, this is all that
there is.
Whether or not this technique is *correct* programming is irrelevant.
It's obviously relevant. If it was correct, it would work, and you
wouldn't be asking here !-)
I
simply want to know why scoping doesn't work like I thought it would.
---> myGlobals.py file:
class myGlobals():
remote_device_enabled = bool
<irrelevant>
You're using the class as a bare namespace. FWIW, you could as well use
the module itself - same effect, simplest code.
</irrelevant>
---> my initialize.py file:
from myGlobals import *
def initialize():
myGlobals.remote_device_enabled = True
---> my main.py file:
import from myGlobals import *
I assume the first "import" is a typo. But this sure means you didn't
run that code.
RDE = myGlobals.remote_device_enabled
def main():
if RDE: # this will not give me the correct value
For which definition of "correct value" ? You didn't import nor execute
initialize() so far, so at this stage RDE is bound to the bool type
object. FWIW, note that calling initialize *after* the assignement to
RDE won't change the fact that RDE will be still bound to the the bool
type object.
<irrelevant>
You may want to have a look at how other Python application manage
application-wide settings.
</irrelevant>
--
http://mail.python.org/mailman/listinfo/python-list