zhw <[EMAIL PROTECTED]> writes: > Here is a example that I want to complete: > >>> import sys, new > >>> context={"name":"david", "sex":"male"}
Here you have a set of values addressible by name. > >>> sys.modules["foo"] = new.module("foo") Why do you believe you need to create a module object? > >>> import foo > >>> for attr in context: > setattr(foo, attr, context[attr]) This doesn't appear to get you anything that isn't already available with the 'context' mapping. > >>> def bar(): > # here is a error > # import * only allowed at module level > from foo import * > print name, sex You can simply do: >>> context = {'name': "david", 'sex': "male"} >>> def bar(): ... print context['name'], context['sex'] ... >>> bar() david male Or, more flexible and more explicit: >>> foo = {'name': "david", 'sex': "male"} >>> def bar(context): ... print context['name'], context['sex'] ... >>> bar(foo) david male What problem are you trying to solve? -- \ “The best mind-altering drug is truth.” —Jane Wagner, via Lily | `\ Tomlin | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list