Python &引用;重新声明定义而不使用“;一个剧本而不是另一个?

Python &引用;重新声明定义而不使用“;一个剧本而不是另一个?,python,python-2.7,Python,Python 2.7,这听起来似乎是显而易见的,但有一些奇怪的事情正在发生 所以我有两个脚本。大致相同,但也有一些差异。它们都运行大循环,并且都使用全局变量。是的,我知道这很糟糕。整理它在我的任务清单上,但我现在有时间限制 一个脚本就可以了。正如所料 其他的工作很好。。。大部分情况下。然后,一旦它再次迭代循环,它就会出错。这很奇怪,因为代码之间的差别很小,但我确实发现了一些我无法解释的东西 我用来跟踪我在循环中的位置的变量在脚本1中的设置如下(它可以完美地工作): 第二个脚本有: global CurrentMatc

这听起来似乎是显而易见的,但有一些奇怪的事情正在发生

所以我有两个脚本。大致相同,但也有一些差异。它们都运行大循环,并且都使用全局变量。是的,我知道这很糟糕。整理它在我的任务清单上,但我现在有时间限制

一个脚本就可以了。正如所料

其他的工作很好。。。大部分情况下。然后,一旦它再次迭代循环,它就会出错。这很奇怪,因为代码之间的差别很小,但我确实发现了一些我无法解释的东西

我用来跟踪我在循环中的位置的变量在脚本1中的设置如下(它可以完美地工作):

第二个脚本有:

global CurrentMatchScan

while True:
    print "=Starting Loop="
    Loopcounter = 0
    CurrentMatchScan = -1
    LoadMatch()
然而,在第二个脚本中,PyCharm突出显示了=-1部分

Redclared'CurrentMatchScan' defined above without usage
因此,显而易见的假设是,代码中的某些内容正在使用它。稍后我确实调用了一个函数,它被放置在那里

def LoadMatch():
    nextbox1 = LinkList[CurrentMatchScan + 1]
    nextbox2  = LinkList[CurrentMatchScan + 2]
但这只会在设置CurrentMatchScan后调用。。。第一个脚本有完全相同的代码

我的IDE只是没有在其他脚本上注意到吗?第二个循环有一个相当大的问题,这是我能看到的两者之间的唯一区别

我知道这看起来不太可能,但我看不出还有什么其他的。它几乎没有被实际引用过

我真的很感激任何人能指出我是多么的白痴,错过了一些非常简单的事情

/编辑:

基于它确实使用CurrentMatchScan并在第一次迭代中正确调用LoadMatch(),我开始怀疑这不是PyCharm试图警告我可能在做傻事


我认为,如果这是一个问题,它根本不会起作用,因此,当涉及到我实际面临的问题时,这个警告可能有点像是在转移视线。

我认为我们需要更多的背景。尝试移除所有绒毛(例如,从移除
LoadMatch()
调用开始),直到导致错误的基本部分仍然存在;这应该是一个相对适度的代码发布量。到那时,你很可能已经自己找到了问题所在。某个地方的打字错误也可能是问题所在。
def LoadMatch():
    nextbox1 = LinkList[CurrentMatchScan + 1]
    nextbox2  = LinkList[CurrentMatchScan + 2]