在python 2中是否可以从另一个模块更新全局脚本变量?
以下是简化的脚本示例( test_script.py ):
import sys
from test_module import test_function
variable = False
def main():
test_function()
print "script variable: %s" % variable
print "sys.modules variable: %s" % sys.modules['test_script'].variable
if __name__ == '__main__':
main()
这是简化的模块示例( test_module.py ):
def test_function():
import test_script
test_script.variable = True
这是脚本输出:
> python ./test_script.py
script variable: False
sys.modules variable: True
正如您所看到的,脚本变量尚未更改。是否有可能改变它?如果是,我应该在test_function()中使用什么代码来执行此操作,而不更改 test_script.py 本身?