словарь глобальных питонов - PullRequest
4 голосов
/ 18 сентября 2011

Я хочу объединить словарь, полученный из другого модуля в качестве аргумента функции, со словарем глобальных переменных текущего модуля. Есть идеи, как это можно сделать?

модуль - test.py

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

Что я хочу, так это то, что результирующий словарь somedict должен быть установлен как словарь глобальных переменных текущего модуля (test). somedict был создан путем слияния globals () текущего модуля и полученного словаря вины.

1 Ответ

4 голосов
/ 07 октября 2011

globals() возвращает глобальный словарь текущего модуля, который затем можно изменить.Ваша функция хотела бы:

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

Если есть столкновения имен, победит словарь indict.

...