前言
本文主要給大家介紹了關(guān)于python中調(diào)試或排錯(cuò)的五種方法,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的的介紹吧
python調(diào)試或排錯(cuò)的五種方法
1、print,直接打印,比較簡(jiǎn)單而且粗暴
在代碼中直接輸入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庫(kù),然后在代碼中需要的地方引入pdb代碼片段,如下:
import pdb if __name__ == "__main__": a = 1 pdb.set_trace() #創(chuàng)建pdb代碼片段 b = 2 c = a + b print(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é)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
