重複の可能性:
Python でグローバル動的変数を宣言する
>>> def f():
global cat
exec 'cat'+'="meow"'
return
>>> f()
>>> cat
Traceback (most recent call last):
File "<pyshell#23>", line 1, in <module>
cat
NameError: name 'cat' is not defined
これは、私が遭遇した問題の単なる例です。私の実際のスクリプトでは、クラスのさまざまなインスタンスを作成して名前を付ける必要があるため、exec ステートメントが必要です。
通話中
exec 'cat'+'="meow"'
シェルで直接実行しても問題なく動作しますが、関数にパックされるとすぐに動作しなくなります。