python中調(diào)試或排錯(cuò)的五種方法示例
前言
本文主要給大家介紹了關(guān)于python中調(diào)試或排錯(cuò)的五種方法,分享出來供大家參考學(xué)習(xí),下面話不多說了,來一起看看詳細(xì)的的介紹吧
python調(diào)試或排錯(cuò)的五種方法
1、print,直接打印,比較簡單而且粗暴
在代碼中直接輸入print+需要輸出的結(jié)果,根據(jù)打印的內(nèi)容判斷即可
2、assert斷言,很方便,測(cè)試人員常常在寫自動(dòng)化用例的時(shí)候用的比較多
如下,直接將預(yù)期結(jié)果和實(shí)際結(jié)果做判斷
def true_code(): x = 3 y = 2 z = x + y assert(5==z), "z不等于5" def false_code(): x = 3 y = 3 z = x + y assert(5==z), "z不等于5" true_code() false_code()
運(yùn)行結(jié)果如下:
3、pdb交互式源代碼調(diào)試
常用命令:break或b 設(shè)置斷點(diǎn)
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庫,然后在代碼中需要的地方引入pdb代碼片段,如下:
import pdb if __name__ == "__main__": a = 1 pdb.set_trace() #創(chuàng)建pdb代碼片段 b = 2 c = a + b print(c)
輸入pdb命令,并且查看結(jié)果:
4、日志,定位問題記錄程序運(yùn)行情況
主要是引入logging庫
logging模塊提供了標(biāo)準(zhǔn)的日志接口,你可以通過它存儲(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é)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Python3使用requests包抓取并保存網(wǎng)頁源碼的方法
這篇文章主要介紹了Python3使用requests包抓取并保存網(wǎng)頁源碼的方法,實(shí)例分析了Python3環(huán)境下requests模塊的相關(guān)使用技巧,需要的朋友可以參考下2016-03-03Python 多線程搜索txt文件的內(nèi)容,并寫入搜到的內(nèi)容(Lock)方法
今天小編就為大家分享一篇Python 多線程搜索txt文件的內(nèi)容,并寫入搜到的內(nèi)容(Lock)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-08-08python 中的divmod數(shù)字處理函數(shù)淺析
這篇文章主要介紹了python divmod數(shù)字處理函數(shù)的相關(guān)資料,感興趣的朋友一起看看吧2017-10-10tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例
今天小編就為大家分享一篇tensorflow 只恢復(fù)部分模型參數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-01-01Python pygame實(shí)現(xiàn)圖像基本變換的示例詳解
pygame的transform中封裝了一些基礎(chǔ)的圖像處理函數(shù),這篇文章主要為大家介紹了pygame實(shí)現(xiàn)圖像的基本變換,例如縮放、旋轉(zhuǎn)、鏡像等,感興趣的小伙伴可以了解一下2023-11-11Python中dilb和face_recognition第三方包安裝失敗的解決
本文主要介紹了Python中dilb和face_recognition第三方包安裝失敗的解決,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02解決python執(zhí)行較大excel文件openpyxl慢問題
這篇文章主要介紹了解決python執(zhí)行較大excel文件openpyxl慢問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-05-05