擅长:python、mysql、java
<p>你问:</p>
<blockquote>
<p>Error message is still pointing to a line 88 in code which is not there any more. Module import/reloading issue?</p>
</blockquote>
<p>是的。回溯(错误消息)将显示当前(最新保存的)文件,即使您尚未运行它。必须重新加载/重新导入才能获取新文件。在</p>
<p>这种差异来自于从脚本文件读取回溯打印输出的事实(脚本名.py)保存在驱动器上。但是,程序可以从保存在内存中的模块运行,有时也可以从.pyc文件运行。如果通过更改脚本来修复错误,并将其保存到驱动器中,则如果不重新加载,则仍会发生相同的错误。在</p>
<p>如果您正在以交互方式运行以进行测试,则可以使用<code>reload</code>函数:</p>
<pre><code>>>> import mymodule
>>> mymodule.somefunction()
Traceback (most recent call last):
File "mymodule.py", line 3, in somefunction
Here is a broken line
OhNoError: Problem with your file
</code></pre>
<p>现在,修复错误并保存我的模块.py,返回到交互式会话,但仍会得到错误,但回溯显示固定行</p>
^{pr2}$
<p>所以你必须重新加载模块:</p>
<pre><code>>>> reload(mymodule)
<module 'mymodule' from '/path/to/mymodule.py'>
>>> mymodule.somefunction()
Success!
</code></pre>