python怎么退出调试模式_python – 如何在警告时自动切换到调试模式?

你可以写一个脚本dbg.py:

import pdb, warnings, sys

import __builtin__

if __name__ == '__main__':

args, n = [], len(sys.argv)

if n < 2:

sys.exit(1)

elif n > 2:

args.append(__builtin__.__dict__[sys.argv[2]])

if n > 3:

args.append(int(sys.argv[3]))

warnings.simplefilter('error', *args) # treat warnings as exceptions

try:

execfile(sys.argv[1])

except:

pdb.post_mortem(sys.exc_info()[-1])

然后,您可以使用它来调试您的脚本.如果要在任何警告上运行pdb,请将脚本名称作为第一个参数传递:

$python dbg.py yourscript.py

如果只想在引发某种特定类型的警告时运行pdb,则将警告类型作为第二个参数传递:

$python dbg.py yourscript.py DeprecationWarning

行号作为第三个参数:

$python dbg.py yourscript.py DeprecationWarning 342

您还可以使用warnings.filterwarnings而不是warnings.simplefilter重写代码,以使警告过滤更加灵活.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值