python中調(diào)試或排錯(cuò)的五種方法示例
前言
本文主要給大家介紹了關(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ì)腳本之家的支持。
相關(guān)文章
pandas數(shù)據(jù)清洗(缺失值和重復(fù)值的處理)
這篇文章主要介紹了pandas數(shù)據(jù)清洗(缺失值和重復(fù)值的處理),pandas對(duì)大數(shù)據(jù)有很多便捷的清洗用法,尤其針對(duì)缺失值和重復(fù)值,詳細(xì)介紹感興趣的小伙伴可以參考下面文章內(nèi)容2022-08-08
Pytorch使用PIL和Numpy將單張圖片轉(zhuǎn)為Pytorch張量方式
這篇文章主要介紹了Pytorch使用PIL和Numpy將單張圖片轉(zhuǎn)為Pytorch張量方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-05-05
Python調(diào)用Orator?ORM進(jìn)行數(shù)據(jù)庫(kù)操作
Orator?ORM?是一個(gè)功能豐富且靈活的?Python?ORM庫(kù),旨在簡(jiǎn)化數(shù)據(jù)庫(kù)操作,它支持多種數(shù)據(jù)庫(kù)并提供了簡(jiǎn)潔且直觀的?API,下面我們就來(lái)看看它的具體使用吧2025-02-02
探索Python庫(kù)coconut輕松地編寫函數(shù)式代碼實(shí)例
本文將介紹Python Coconut的基本概念、語(yǔ)法特性和實(shí)際應(yīng)用,同時(shí)提供豐富的示例代碼,以幫助大家更好地理解和應(yīng)用這個(gè)強(qiáng)大的工具2024-01-01
python3 BeautifulSoup模塊使用字典的方法抓取a標(biāo)簽內(nèi)的數(shù)據(jù)示例
這篇文章主要介紹了python3 BeautifulSoup模塊使用字典的方法抓取a標(biāo)簽內(nèi)的數(shù)據(jù),結(jié)合實(shí)例形式Fenix了python3 BeautifulSoup模塊進(jìn)行數(shù)據(jù)的抓取相關(guān)操作技巧,需要的朋友可以參考下2019-11-11
Python實(shí)現(xiàn)遍歷目錄的兩張方法總結(jié)
我們有時(shí)想直接查看文件夾里的所有文件,但使用正常的方法太麻煩了,于是本文開(kāi)發(fā)出了兩個(gè)python程序,可以遍歷目錄,有需要的小伙伴可以參考下2024-02-02

