2011-09-18 63 views
3

我想将从另一个模块接收的字典合并为当前模块的全局变量字典的函数参数。任何想法如何做到这一点?python globals dictionary

模块 - test.py

def setdict(indict): 
    somedict = dict(globals(), **indict) 

是,所得到的词典somedict是我想要的要被设置为当前的模块(测试)的全局词典。 somedict是通过合并当前模块的全局变量(globals)和接收到的字典指令来创建的。

+3

*非常糟糕的主意。 '来自statically_known_module import *'已经够糟糕了。 – delnan

回答

3

globals()返回当前模块的全局字典,然后可以修改它。你的功能会喜欢:

def setdict(indict): 
    globals().update(indict) 

如果有名称冲突,indict字典将赢。

+0

谢谢你的回答。 – Abhaya