I know they are bad. That is why I would prefer not to use it, but I am not sure how else to handle this problem.
In this app, the user must log in. Once authenticated, they have a userid stored in the SQLite database. Before splitting my app into multiple files, I used a global variable. I know its bad, but it worked. Now that things are split apart, the classes which used it previously now don't see it anymore, even using the global keyword. I think this is the expected behavior. See here file: a.py import b global_var = "global" def func1(): global global_var print "global var in func1 = %s" % global_var class intclass: def func2(self): global global_var print "global var in intclass = %s" % global_var print "global_var = %s" % global_var func1() f = intclass() f.func2() g = b.extclass() g.func3() file: b.py class extclass: def func3(self): global global_var print "global var in extclass = %s" % global_var When I run it, I get what I think the expected behavior, that the external class ext class won't be able to see the global_var Big-Mac:t chare$ python a.py global_var = global global var in func1 = global global var in intclass = global Traceback (most recent call last): File "a.py", line 18, in <module> g.func3() File "/Users/chare/Development/python/animaltrax/pkg/t/b.py", line 5, in func3 print "global var in extclass = %s" % global_var NameError: global name 'global_var' is not defined So - my question is this: how do I solve the problem of multiple classes needing to get access to a value which needs to be preserved across the lifetime of the running application? One thought was a RAM based SQLite database, but that seems like a lot of work. I dunno, maybe that is the option. suggestions, ideas, criticisms are all welcome. Python code aside, I just don't know how to approach this problem in Python. Thanks, as always for the feedback and guidance. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor