我正在使用%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/

10-11 04:33