Python无法识别全局变量

2024-09-22 16:36:31 发布

您现在位置:Python中文网/ 问答频道 /正文

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

myVar = 1

def fnPrintMyVar():
    print myVar

今天我正在调试,解释器突然停止识别全局变量,产生了熟悉的名称错误:控制台中没有定义全局名称“myVar”。你知道吗

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

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

def fnVarHolder():
    global myVar
    myVar = 1

def fnPrintMyVar():
    global myVar
    print myVar

这个方法工作了一段时间,然后突然停止工作,就像第一个方法一样。我试过关闭所有的东西,包括重置系统,但是仍然引发了异常。我假设某个地方有一个非易失性文件导致了这种情况,但我不知道该去哪里查找。任何想法都将不胜感激。你知道吗


Tags: 模块方法函数名称定义def错误全局
1条回答
网友
1楼 · 发布于 2024-09-22 16:36:31

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

希望这有帮助,但由于这听起来像是一个问题,是本地到您的计算机很难再现。你知道吗

相关问题 更多 >