python五种调试或排错的方法
1、print,直接打印,比較簡(jiǎn)單而且粗暴
在代碼中直接輸入print+需要輸出的結(jié)果,根據(jù)打印的內(nèi)容判斷即可
2、assert斷言,很方便,測(cè)試人員常常在寫自動(dòng)化用例的時(shí)候用的比較多
如下,直接將預(yù)期結(jié)果和實(shí)際結(jié)果做判斷
def true_code():x = 3y = 2z = x + yassert(5==z), "z不等于5"def false_code():x = 3y = 3z = x + yassert(5==z), "z不等于5"true_code() false_code()運(yùn)行結(jié)果如下:
3、pdb交互式源代碼調(diào)試
常用命令:
| continue或c | 繼續(xù)執(zhí)行程序,或跳到下個(gè)斷點(diǎn) |
| list或l | 查看當(dāng)前行的代碼段 |
| step或s | 進(jìn)入函數(shù) |
| return或r | 執(zhí)行代碼知道從當(dāng)前函數(shù)返回 |
| exit或q | 中止并退出 |
| next或n | 執(zhí)行下一行 |
| p或! | 打印變量的值例如a為變量,則輸入p a |
| help或h | 幫助 |
在使用pdb時(shí)需要導(dǎo)入pdb庫(kù),然后在代碼中需要的地方引入pdb代碼片段,如下:
''' 遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流QQ群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' import pdbif __name__ == "__main__":a = 1pdb.set_trace() #創(chuàng)建pdb代碼片段b = 2c = a + bprint(c)輸入pdb命令,并且查看結(jié)果:
4、日志,定位問(wèn)題記錄程序運(yùn)行情況
主要是引入logging庫(kù)
logging模塊提供了標(biāo)準(zhǔn)的日志接口,你可以通過(guò)它存儲(chǔ)各種格式的日志,logging的日志可以分為 debug(), info(), warning(), error() and critical()5個(gè)級(jí)別,根據(jù)需要選擇不同的級(jí)別打印日志
5、IDE Debuger 圖形界面便于數(shù)據(jù)查看,支持多線程調(diào)試,遠(yuǎn)程調(diào)試
主要是IDE中自帶的debug調(diào)試
設(shè)置斷點(diǎn),運(yùn)行時(shí)以debug模式運(yùn)行,或這shift+F9運(yùn)行
總結(jié)
以上是生活随笔為你收集整理的python五种调试或排错的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: python 三元表达式 if for
- 下一篇: Python3 中hasattr()、g