import and shared global variables
Diez B. Roggisch
deets at nospam.web.de
Fri Mar 10 09:18:51 EST 2006
> I'm implementing a plugin-based program, structured like the example
> below (where m1 in the main module, loading m2 as a plugin). I wanted
> to use a single global variable (m1.glob in the example) to store some
> config data that the plugins can access. However, the output shown
> belown seems to imply that glob is *copied* or recreated during the
> import in m2. Am I missing something? I thought m1 should be in
> sys.modules and not be recreated during the import in m2.
Yes, you are missing that your first glob is in __main__.glob, _not_ in
m1.glob.
To make that happen, use something like this:
glob = [1]
def main():
pass
if __name__ == "__main__":
import m1
m1.main()
Diez
More information about the Python-list
mailing list