Python无法识别全局变量

时间:2018-08-21 07:22:46

标签: python python-2.7 ide

我有一个已经使用了一段时间的模块,该模块具有在函数外部初始化的全局变量,例如:

myVar = 1

def fnPrintMyVar():
    print myVar

今天我正在调试,解释器突然停止识别全局变量,产生熟悉的 NameError:在控制台中未定义全局名称'myVar'

我在WingIDE中运行它,并在打印行之前停止了代码。 IDE在监视列表中正确显示了myVar,但是当我尝试运行打印行时,它引发了相同的异常。

作为一种临时的解决方法,我将所有全局变量放在另一个函数中,如下所示:

def fnVarHolder():
    global myVar
    myVar = 1

def fnPrintMyVar():
    global myVar
    print myVar

这工作了一段时间,然后以与第一种方法突然相同的方式停止工作。我尝试关闭所有内容,包括重置系统,但仍然引发异常。我假设某个地方存在一个非易失性文件,但是我不知道在哪里看。任何想法将不胜感激。

1 个答案:

答案 0 :(得分:0)

对于“某处的非易失性文件”,请尝试删除名为__pycache__的目录以及任何*.pyo*.pyc文件。

希望这会有所帮助,但是由于这听起来像是计算机本地的问题,因此很难重现。