2016-03-23 61 views
0

我确定这很简单,但我试图操作一个全局变量,我在函数中创建了另一个调用该函数的脚本,如下所示:在另一个程序中调用另一个函数的全局变量

脚本1:

def function_1(): 

    global myvar 
    myvar = 1 

脚本2:

from script1 import function_1 

function_1() 

myvar2 = myvar + 1 
print myvar2 

我不知道为什么这是行不通的。我无法在堆栈溢出或其他地方找到我需要的确切答案。任何人都可以协助

谢谢

+0

你实际上并没有调用'function_1()',你需要调用它之前初始化'myvar'。 – AChampion

+0

嗨,谢谢你的回复。没有调用function_1是一个错字,我现在修改了。你能否解释一下你的意思是不初始化myvar? – gdogg371

回答

1

全局变量仅影响定义它们的模块。要访问它,你需要得到模块对象:

#Script2 

import script1 

script1.function_1() 
myvar2 = script1.myvar + 1 
+0

工作很好。非常感谢。 – gdogg371

相关问题