我看到很多类似的问题,但没有什么与我的问题完全相同,所以我做了研究。
我正试图从函数install
的主文件中访问这个变量operatingSystem
。现在,我知道我可以用install(operatingSystem)
传递它,但我还有10个其他类似的变量,我不想全部传递。
变量在文件的开头定义为global operatingSystem
,然后在我的主文件获得操作系统时分配一个字符串(osx
、win
或linux
)。
然而,当我尝试在install
函数中使用operatingSystem
时,它只是出错。我是否需要在函数中将其称为global operatingSystem
?还是我必须做其他事情?
全局变量可以在函数中自由读取。要修改它,您需要使用"global"关键字。一切都在那里。如果我理解正确的话。
globvar = 0
def set_globvar_to_one():
global globvar # Needed to modify global copy of globvar
globvar = 1
def print_globvar():
print globvar # No need for global declaration to read value of globvar
set_globvar_to_one()
print_globvar() # Prints 1
我并没有得到你所期望的。假设
在main.py
中
operatingSystem = "linux"
在yourfile.py
中
from main import operatingSystem
>>>operatingSystem
"linux"
这里不需要global
。所以
install(operatingSystem) #is possible