当我在交互式会话中运行时(在我的情况下ipython),并且我当前在调试器(ipdb或pdb)中,我希望能够从调试命名空间中将变量放入主交互命名空间.
如果我的代码崩溃,但是已经完成了大量的工作,这很有用,其中一些可以节省时间(例如,从磁盘加载数据).
所以我想要的是这样的东西,例如:
>>> run -m my.module
loading data from disk...
done loading data.
processing data...
---------------------------------------------------------------------------
IndexError Traceback (most recent call last)
...
Run Code Online (Sandbox Code Playgroud)
- >这里处理过程中出错了,但数据加载工作正常...所以我会进入调试器检查发生了什么,并看到loaded_data:
>>> debug
ipdb> len(loaded_data)
100000
Run Code Online (Sandbox Code Playgroud)
- >然后我希望能够将此变量保存到交互式命名空间以便在调试器外部使用,如下所示:
ipdb> save_to_interactive('loaded_data')
ipdb> exit
>>> len(loaded_data)
100000
Run Code Online (Sandbox Code Playgroud)