我正在使用%debug
魔术进行调试的IPython笔记本中有一个追溯。我想将回溯框架中的对象之一分配给IPython全局命名空间中的变量,以便可以在ipdb
提示符(相当笨拙)之外弄乱它。最简单的方法是什么?
我现在通过在ipdb中选择对象并将其从全局名称空间中删除来解决此问题,但是我敢肯定有更好的方法。
最佳答案
一种方法是将值分配给模块成员(类似于模块作用域中的全局变量),该成员在退出pdb
会话后仍然存在,因为模块已经在sys.modules
中并停留在该位置。
1% os.path.exists(3254)
...
TypeError: coercing to Unicode: need string or buffer, int found
2% %debug
...
ipdb> os.MYVAR = 234
ipdb> q
3% os.MYVAR
3= 234
关于python - 如何从ipdb中分配给ipython全局命名空间?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29661014/