2016-12-29 6 views
2

辞書に特定のモジュールの名前空間にグローバル変数を含める方法はありますか?モジュールに少なくとも次のような関数が1つ含まれている場合は、それを実現できます:モジュールの名前空間からグローバルを取得する方法は?

import mymodule 
d = mymodule.func.__globals__ 

これは正しいですか?

もっと一般的な方法はありますか? (例えば、モジュールに関数だけでなく変数のみが含まれているとすれば、これはどのように行うことができますか?)

私はを期待していません "何をしようとしていますか?それ。"答え。私の質問はむしろ理論的なものです。

問題がある場合は、Python3の回答にもっと興味があります。

答えて

2

グローバルスコープに対応するvarsをつかんで使用してください。

vars(mymodule) 

func.__globals__あなたはどのように見るために、単純にこの辞書を返します。Trueを返し

vars(mymodule) is mymodule.func.__globals__ 

+1

または単に '__dict__'を直接使用してください。私はいつも '__dict__'を好んでいました。入れ子にする括弧のレベルが1つ低い – user2357112

+1

ありがとう、これは私が探していたものです。 –

+0

@ user2357112よろしくお願いします。私は個人的にはダンサーをつかむことを恥ずかしく思っていますが、代わりに私のために機能するバージョンを選んでいます( '__dict__'はおそらく変わらないので、私は妄想しています)。 –

関連する問題