在 Python 中獲取檔名和行號

Vaibhav Vaibhav 2022年5月17日
在 Python 中獲取檔名和行號

在處理實際應用程式或副專案時,我們經常需要檢索行號和檔名以進行除錯。通常,這樣做是為了瞭解何時執行什麼程式碼,或者分析任何應用程式的控制流。在本文中,我們將學習如何使用 Python 獲取 Python 指令碼的行號和檔名。

在 Python 中獲取檔名和行號

要從正在執行的 Python 指令碼中獲取檔名和行號,我們可以使用 Python 的 inspect 模組。inspect 模組包含幾個實用程式來獲取有關物件、類、方法、函式、框架物件和程式碼物件的資訊。這個庫有一個 getframeinfo() 方法,用於檢索有關框架或回溯物件的資訊。此方法接受一個 frame 引數,它檢索有關該引數的詳細資訊。currentFrame() 方法返回撥用者堆疊幀的幀物件。我們可以將這些實用程式用於我們的用例。請參考以下 Python 程式碼瞭解用法。

from inspect import currentframe, getframeinfo

frame = getframeinfo(currentframe())
filename = frame.filename
line = frame.lineno
print("Filename:", filename)
print("Line Number:", line)

輸出:

Filename: full/path/to/file/main.py
Line Number: 3

正如我們所見,filename 屬性將返回 Python 檔案的完整路徑。在我的例子中,Python 檔案的名稱是 main.py;因此,它在輸出中顯示 main.py。並且,lineno 屬性返回執行此 frame = getframeinfo(currentframe()) 語句的行號。上述語句在 3 行執行;因此輸出在行號標籤後有一個 3

Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

LinkedIn GitHub

相關文章 - Python File