4

関数の引数として別のモジュールから取得したディクショナリを、現在のモジュールのグローバル ディクショナリにマージしたいと考えています。これを行う方法はありますか?

モジュール - test.py

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

私が欲しいのは、結果の辞書 somedict が現在のモジュール (テスト) のグローバル辞書として設定されることです。somedict は、現在のモジュールの globals() と受け取った辞書 indict をマージして作成されました。

4

1 に答える 1

4

globals()現在のモジュールのグローバルディクショナリを返します。これを変更できます。あなたの関数は次のようになります:

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

名前の衝突がある場合は、indict辞書が優先されます。

于 2011-10-07T00:44:16.093 に答える