Python无法识别全局变量
我有一个模块,我已经使用了一段时间,全局变量在函数外部初始化,例如:Python无法识别全局变量,python,python-2.7,ide,Python,Python 2.7,Ide,我有一个模块,我已经使用了一段时间,全局变量在函数外部初始化,例如: myVar = 1 def fnPrintMyVar(): print myVar 今天我正在调试,解释器突然停止识别全局变量,产生了熟悉的NameError:控制台中没有定义全局名称“myVar” 我在WingIDE中运行了它,并在打印行之前停止了代码。IDE在监视列表中正确地显示了myVar,但是当我尝试运行打印行时,它引发了相同的异常 作为临时解决办法,我将所有全局变量放在另一个函数中,如下所示: def f
myVar = 1
def fnPrintMyVar():
print myVar
今天我正在调试,解释器突然停止识别全局变量,产生了熟悉的NameError:控制台中没有定义全局名称“myVar”
我在WingIDE中运行了它,并在打印行之前停止了代码。IDE在监视列表中正确地显示了myVar,但是当我尝试运行打印行时,它引发了相同的异常
作为临时解决办法,我将所有全局变量放在另一个函数中,如下所示:
def fnVarHolder():
global myVar
myVar = 1
def fnPrintMyVar():
global myVar
print myVar
这个方法工作了一段时间,然后以与第一种方法相同的方式突然停止工作。我尝试过关闭所有东西,包括重置系统,但仍然出现异常。我假设某个地方有一个非易失性文件导致了这种情况,但我不知道该去哪里查找。如果您有任何想法,我们将不胜感激。至于“某处的非易失性文件”,请尝试删除名为\uuuuuupycache\uuuu
的目录以及任何*.pyo
和*.pyc
文件
希望这能有所帮助,但由于这听起来像是您计算机的本地问题,因此很难重现。谢谢您的回答。我一定是在调试过程中错过了几次重新加载,并误诊了正在发生的事情。在使用变量的函数中包含全局行是正确的方法。