调试
assert
1 | def foo(s): |
assert表示:如果n != 0 得结果为true,则程序继续进行
如果断言失败,assert语句本身就会抛出AssertionError错误,内容为表达式后的’n is zero!’
python解释器可以使用-O参数来关闭assert
logging
import logging
logging.basicConfig(level=logging.INFO)
logging不会抛出错误,且可以输出错误信息到文件。
logging记录的信息等级有:debug,info,warning,error等几个级别。
pdb
pdb适用于python解释器,可使程序一步一步运行。
1 | (Pdb) n |
使用n可以单步执行代码,使用p 变量名查看变量
1 | (Pdb) p s |
使用q结束调试
pdb.set_trace()
程序内使用pdb.set_trace()可以设置一个断点。
运行后,程序会在断点处暂停并进入pdb调试环境