This did the trick for the most part, but it still leaves a copy of the variable A in the "non-module" global namespace (see output below).
I want A declared global to the module (so as not to be local within the functions of the module) but not visible outside of the module namespace (like B, see below). How can this be done? Thanks again python -i test.py :>>> print test.A 10 :>>> print A 0 :>>> print B Traceback (most recent call last): File "<stdin>", line 1, in ? NameError: name 'B' is not defined ____test.py___ A = 0 def getA(): global A return A def run(): global A A = 10 if (__name__=="__main__"): import test test.run() ______ > def main(): > # do mainy stuff here > > if __name__ == "__main__": > import myself > myself.main() > > This of course won't prevent __main__ to be existant, nor running possible > initialization code twice. But if the module is supposed to do some work, > it will operate on the one data all the other importing modules see. > > You can take this one step further, using an explicit init()-function that > creates global state (remember, it's only module-global). > > Diez -- Peter Bismuti Boeing Information Technology Renton, WA (425) 234-0873 W (425) 442-7775 C -- http://mail.python.org/mailman/listinfo/python-list