我最近遇到的错误与此类似:
IndexError Traceback (most recent call last)
<ipython-input-124-59ca523b1b36> in <module>()
----> 1 first_experiment_comb(model)
c:\python26\26664\lib\site-packages\experiments.py in first_experiment_comb(mod
l)
172 "Number NZ: " + str(modelz[j].NumNZs) +"\n")
173
--> 174 first_experiment(modelz[j], str(j))
175
176
c:\python26\26664\lib\site-packages\experiments.py in first_experiment(model, e
t)
89 plt.close()
90
---> 91 fl.timberFlow(model)
92 plt.savefig(dire + "\\timber_flow" +ext+".pdf", bbox_inches = 0)
93 plt.close()
C:\Python26\26664\lib\site-packages\func_lib.py in timberFlow(model)
304 if not unVars:
305 unVars = varValues(model, 'PIEHTLVOL')
--> 306
307 for i in range(19):
308 swVarVals.append(swVars[i].X)
IndexError: list index out of range
其中跟踪的最后一行指向不存在的代码,或者在之前的情况下已被注释掉。当我在它自己运行最后一个函数(在func_lib.py中)时,我从未得到神秘的IndexError,只有当它从experiments.py中调用时。
我在pylab python 2.6 W64中运行它。 我无法在iPython或Pylab文档中找到有关此问题的已知错误。
第306行怎么可能是错误的根源?
答案 0 :(得分:3)
您的代码与字节码不同步。正确地重新加载您的代码。
发生异常时,会检查字节码是否有文件名和亚麻,然后加载源文件以显示该行的原始来源。
但是,如果您更改了源但尚未重新启动python进程(或在ipython中重新加载代码),则在发生异常时会显示错误的行。