想象一下我有一个这样的程序:
open(bigfile)
bigfile.load(hugevariable)
plot(hugevariable)
并且我想在调试绘图时将“巨大变量”加载到内存中。 我怎样才能用spyder调试器做到这一点? 加载变量需要花费大量时间,我不想每次调试绘图时都这样做。
PS:我不想将我的程序分成两部分,即在第一个程序中保存数据并在第二个程序中加载数据。我知道这可能是一个解决方案。
如果您在 Spyder 中有脚本:
open(bigfile)
bigfile.load(hugevariable)
plot(hugevariable)
并且您使用“运行”命令(F5)运行它,那么它将从头开始运行脚本,并且每次都会打开大文件并加载数据。
Spyder 不是在运行之间删除
hugevariable
,如果您转到“变量资源管理器”视图,您将能够看到变量的内容。
您想要做的是从脚本的中间开始运行脚本,这样您就不必每次都重新加载数据。
要么:
将光标放在
plot(hugevariable)
行(或选择要运行的代码)并使用“运行>运行选择或当前行”(F9)
更改代码以包含单元格:
#%% Load the big file
open(bigfile)
bigfile.load(hugevariable)
#%% Plot the data
plot(hugevariable)
“单元格”是一个以
#%%
开头的 Python 注释,并且可以选择具有描述性名称。在 Python 中,它仅被解释为注释,但在 Spyder IDE 中,它可用于将脚本分割成更小的部分,以便您可以单独运行每个“单元”。
然后您可以使用“运行>运行单元格”(Ctrl + Enter)或“运行>运行单元格并前进”(Shift + Enter)来运行包含光标的当前单元格。