我有一个已经使用了一段时间的模块,该模块具有在函数外部初始化的全局变量,例如:
myVar = 1
def fnPrintMyVar():
print myVar
今天我正在调试,解释器突然停止识别全局变量,产生熟悉的 NameError:在控制台中未定义全局名称'myVar'。
我在WingIDE中运行它,并在打印行之前停止了代码。 IDE在监视列表中正确显示了myVar,但是当我尝试运行打印行时,它引发了相同的异常。
作为一种临时的解决方法,我将所有全局变量放在另一个函数中,如下所示:
def fnVarHolder():
global myVar
myVar = 1
def fnPrintMyVar():
global myVar
print myVar
这工作了一段时间,然后以与第一种方法突然相同的方式停止工作。我尝试关闭所有内容,包括重置系统,但仍然引发异常。我假设某个地方存在一个非易失性文件,但是我不知道在哪里看。任何想法将不胜感激。
答案 0 :(得分:0)
对于“某处的非易失性文件”,请尝试删除名为__pycache__
的目录以及任何*.pyo
和*.pyc
文件。
希望这会有所帮助,但是由于这听起来像是计算机本地的问题,因此很难重现。