gpt4 book ai didi

python - 如何让 IPython 自动调用 pdb 来发出警告?

转载 作者:太空宇宙 更新时间:2023-11-03 15:44:56 25 4
gpt4 key购买 nike

自动 pdb 调用通过在 IPython 中切换 %pdb 来解决错误。是否有等效的操作(或解决方法)来在警告时自动调用 pdb?

将 pdb.set_trace() 添加到报告的行号并不理想,因为警告位于从我的代码调用的库文件内。

“python -m pdb myscript.py”会执行此操作,但我位于 ipython repl 中,而不是常规的 python repl 中。

这里的用例是查找类型提示错误,这些错误被报告为警告,如“RuntimeWarning:在 equal 中遇到无效值”

最佳答案

通过设置一个简单的过滤器将警告变成'错误':

from warnings import warn, simplefilter
simplefilter('error')

这似乎工作得很好,例如示例函数:

def foo():
a = '20'
warn("Horrible Things", RuntimeWarning)

现在调用它会触发pdb:

foo()
> <ipython-input-78-f33d9e580240>(4)foo()
1 from warnings import warn
2 def foo():
3 a = '20'
----> 4 warn("Horrible Things", RuntimeWarning)


ipdb>

关于python - 如何让 IPython 自动调用 pdb 来发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41839359/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com