Jeff Jeffries wrote: > Smart people, Is there a way I can add a dictionaries keys to the python > namespace? It would just be temporary as I am working with a large > dictionary, and it would speed up work using an IDE. I look and find > nothing... none of the keys have spaces and none are common names within > the module. > > http://stackoverflow.com/questions/2597278/python-load-variables-in-a- dict-into-namespace > > I do this: > > #Do this? > dictionary = {"AppleSeed": None, "Has": None,"Horrible" :None,"Art"} > for key in dictionary.keys(): > eval("%s=None"%key) > > #or do this? > locals().update(dictionary) > > Any ideas?
You could instead use a dict subclass that lets you access values as attributes: >>> class Dict(dict): ... def __getattr__(self, name): ... return self[name] ... def __setattr__(self, name, value): ... self[name] = value ... >>> d = Dict({"AppleSeed": None, "Has": None, "Horrible" : None, "Art": 42}) >>> d.Art 42 >>> d.AppleSeed >>> d.AppleSeed = "spam" >>> d {'Has': None, 'Art': 42, 'AppleSeed': 'spam', 'Horrible': None} -- http://mail.python.org/mailman/listinfo/python-list