現在我在debug python程式就只是簡單在有可能錯誤的地方print出來看一下,不知道python有沒像c++的一些IDE一樣有單步調試這類的工具?或者說各位python大神一般是怎麼debug自己的python程式的? 應該用過 IPython 吧?想象一下,拋出異常時自動把你帶到 IPyt ...
現在我在debug python程式就只是簡單在有可能錯誤的地方print出來看一下,不知道python有沒像c++的一些IDE一樣有單步調試這類的工具?或者說各位python大神一般是怎麼debug自己的python程式的?
應該用過 IPython 吧?想象一下,拋出異常時自動把你帶到 IPython Shell 是不是很開心?而且和普通的IPython不同,這個時候可以調用 p (print), up(up stack), down(down stack) 之類的命令。還能創建臨時變數,執行任意函數。
事實上這是可以實現的, 而且很簡單,不過你要先安裝 IPython。然後把以下代碼保存為 `crash_on_ipy.py`
import sys class ExceptionHook: instance = None def __call__(self, *args, **kwargs): if self.instance is None: from IPython.core import ultratb self.instance = ultratb.FormattedTB(mode='Plain', color_scheme='Linux', call_pdb=1) return self.instance(*args, **kwargs) sys.excepthook = ExceptionHook() #何問起 hovertree.com
然後在你的項目代碼某個地方 import crash_on_ipy 就可以了。
這個方法不需要 IDE.
推薦:http://www.cnblogs.com/roucheng/p/pythonstring.html