我最大的问题是奇特的IPython例外。我要它们看起来像普通的Python
异常,但当我尝试重置sys.excepthook
时,它不起作用:
In [31]: import sys; sys.excepthook = sys.__excepthook__; (sys.excepthook, sys.__excepthook__)
Out[31]:
(<bound method TerminalInteractiveShell.excepthook of <IPython.terminal.interactiveshell.TerminalInteractiveShell object at 0x27c8e10>>,
<function sys.excepthook>)
每次执行一行代码时,IPython都会替换
sys.excepthook
,使得每次更改都毫无意义。除此之外,IPython捕获所有异常并自己处理它们,而不必调用sys.excepthook
。你知道吗这个answer到一个相关的问题提供了一种重写这种行为的方法:基本上,您必须重写Ipython的
showtraceback
函数,该函数将按照您想要的方式格式化和显示异常。你知道吗相关问题 更多 >
编程相关推荐