Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python无法识别全局变量_Python_Python 2.7_Ide - Fatal编程技术网

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
文件


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

谢谢您的回答。我一定是在调试过程中错过了几次重新加载,并误诊了正在发生的事情。在使用变量的函数中包含全局行是正确的方法。