如何从 ipdb 中分配给 ipython 全局命名空间



我在IPython笔记本中有一个回溯,我正在使用%debug魔法进行调试。我想将回溯帧中的一个对象分配给 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

相关内容

  • 没有找到相关文章

最新更新