2015-04-15 21 views
2

我在IPython筆記本中有一個追蹤,我正在用%debug魔法進行調試。我想將追溯框架中的一個對象分配給IPython全局命名空間中的一個變量,這樣我就可以在ipdb提示符之外(這非常笨拙)混亂它。最簡單的方法是什麼?如何從ipdb中分配ipython全局名稱空間?

我現在通過在ipdb中酸洗對象並從全局命名空間中取出它來解決這個問題,但我確信有更好的方法。

回答

1

一種方法是將值賦給一個模塊成員(像在模塊的範圍全局變量),它仍然存在你退出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 
+1

啊!我可以使用'sys.modules ['__ main __']。foo = 1'分配給ipython全局名稱空間。謝謝! –

+0

@BenKuhn很好 – shx2

相關問題