import sys
thismodule = sys.modules[__name__]
setattr(thismodule, name, value)
或者,不使用setattr
(打破问题的字母,但满足相同的实际目的;-):
globals()[name] = value
:在模块范围内,后者等效于:
vars()[name] = value
这更加简洁,但是在函数内部不起作用(vars()
给出在其范围内调用的变量:在全局范围内调用时模块的变量,然后可以使用R / W,但在函数中可以使用变量在函数中调用时,然后必须将其视为R / O - Python在线文档对此特定区别可能会造成混淆。