天天看點

RPA手把手:【Intermediate Python】二、調試(Debugging)

藝賽旗 RPA10.0全新首發免費下載下傳 點選下載下傳

www.i-search.com.cn/index.html?from=line1

利用好調試,能大大提高你捕捉代碼 Bug 的幾率。大部分新人忽略了 Python debugger(pdb) 的重要性。在這個章節隻描述一些重要的指令,你可以從官方文檔中學習到更多。

參考:https://docs.python.org/3/library/pdb.html

從指令行運作

你可以在指令行使用 Python debugger 運作一個腳本,舉個例子:

C:\Users>python -m pdb my_script.py

這會觸發 debugger 在腳本第一行指令處停止執行。這在腳本很短時會很有幫助。你可以通過 (Pdb) 模式接着檢視變量資訊,并且逐行調試。

從腳本内部運作

同時,你也可以在腳本内部設定斷點,這樣就可以在某些特定點檢視變量資訊和各種執行時資訊了。這裡将使用 pdb.set_trace() 方法來實作。舉個例子:

import pdb

def make_bread():

pdb.set_trace()

return “I don’t have time”

print(make_bread())

試下儲存上面的腳本後運作。你會在運作時馬上進入 debugger 模式。現在是時候了解下 debugger 模式下的一些指令了。

指令清單:

指令 作用

c 繼續執行

w 顯示目前正在執行的代碼行的上下文資訊

a 列印目前函數的參數清單

s 執行目前代碼,并停在第一個能停的地方(相當于單步進入)

n 繼續執行到目前函數的下一行,或者目前行直接傳回(單步跳過)

單步跳過(next)和單步進入(step)的差別在于,單步進入會進入目前行調用的函數内部并停在裡面,而單步跳過會(幾乎)全速執行完目前行調用的函數,并停在目前函數的下一行。

pdb 真的是一個很友善的功能,上面僅列舉少量用法,更多的指令強烈推薦你去看官方文檔。