Given this module: #funny.py import sys print "Before:" print " __name__ =", __name__ print " sys.modules[__name__] =", sys.modules[__name__] sys.modules[__name__] = 123 print "After:" print " __name__ =", __name__ print " sys =", sys
when I run it I get these results: [st...@sylar python]$ python2.6 funny.py Before: __name__ = __main__ sys.modules[__name__] = <module '__main__' from 'funny.py'> After: __name__ = None sys = None I'm completely perplexed by this behaviour. sys.modules() seems to be a regular dict, at least according to type(), and yet assigning to an item of it seems to have unexpected, and rather weird, side-effects. What am I missing? -- Steven -- http://mail.python.org/mailman/listinfo/python-list