使用Spyder调试时如何保留已加载的hugevariable数据?
如何在Spyder调试时保留已加载的大变量避免重复加载?
问题场景
我有如下代码:
open(bigfile) bigfile.load(hugevariable) plot(hugevariable)
调试plot代码时,hugevariable加载耗时极长,不想每次调试都重复加载,且不想拆分程序先存数据再加载,请问怎么用Spyder调试器实现?
解决方案
直接利用Spyder调试器的断点+IPython控制台保留变量的特性即可,步骤如下:
- 在
plot(hugevariable)这一行的行号左侧点击,设置断点(显示红色圆点)。确保断点在bigfile.load(hugevariable)执行完成之后。 - 点击Spyder工具栏的「调试文件」按钮(或按快捷键F5),程序会运行到断点处暂停。此时
hugevariable已经完全加载到内存中。 - 调试
plot代码时,直接在下方的IPython控制台中手动调用plot(hugevariable),就能看到运行效果。 - 如果修改了
plot函数的代码,无需重新运行整个加载流程:- 若
plot是自定义函数,直接在控制台重新定义修改后的函数,再调用即可; - 若
plot在某个模块里,用importlib.reload(你的模块名)重新加载模块,再调用plot函数。
- 若
这样每次调试plot时,hugevariable始终保留在内存中,不用重复执行耗时的加载步骤。
内容的提问来源于stack exchange,提问作者Methil
相关产品推荐
相关产品推荐

