我是ipython的新手,我尝试使用ipython来调试我的代码。我所做的:使用ipython和%pdb在调试会话中访问变量
[1]: %pdb
Automatic pdb calling has been turned ON
然后
In [2]: %run mycode.py
,并在代码中,我有1/0所以它抛出一个异常,并会自动进入调试会话。
ZeroDivisionError: float division
ipdb> variable
array([ 0.00704313, -1.34700666, -2.81474391])
所以我可以访问变量。但是,当我做到以下几点:
ipdb> b = variable
*** The specified object '= variable' is not a function or was not found along sys.path.
但这个工程:
ipdb> b = self.X
有什么办法重载这个B命令?在我的应用程序中,变量名b很自然地发生,并且它是一种无法使用它的痛苦。 – joon 2010-11-15 20:11:43
@joon:拥有一个字母的变量名通常不是一个好的编程习惯。也许这是问题应该激励你改变变量名称。我意识到这可能很难做到。在这种情况下,你可以尝试'exec'b = variable''。 – unutbu 2010-11-15 20:39:18
当然。这只是字符b是数学对应物的自然选择。谢谢! – joon 2010-11-16 21:38:30