cgitb
--- 用于 CGI 腳本的回溯管理器?
源代碼: Lib/cgitb.py
Deprecated since version 3.11, will be removed in version 3.13: The cgitb
module is deprecated
(see PEP 594 for details).
cgitb
模塊提供了用于 Python 腳本的特殊異常處理程序。 (這個名稱有一點誤導性。 它最初是設計用來顯示 HTML 格式的 CGI 腳本詳細回溯信息。 但后來被一般化為也可顯示純文本格式的回溯信息。) 激活這個模塊之后,如果發(fā)生了未被捕獲的異常,將會顯示詳細的已格式化的報告。 報告顯示內容包括每個層級的源代碼摘錄,還有當前正在運行的函數的參數和局部變量值,以幫助你調試問題。 你也可以選擇將此信息保存至文件而不是將其發(fā)送至瀏覽器。
要啟用此特性,只需簡單地將此代碼添加到你的 CGI 腳本的最頂端:
import cgitb
cgitb.enable()
enable()
函數的選項可以控制是將報告顯示在瀏覽器中,還是將報告記錄到文件供以后進行分析。
- cgitb.enable(display=1, logdir=None, context=5, format='html')?
此函數可通過設置
sys.excepthook
的值以使cgitb
模塊接管解釋器默認的異常處理機制。可選參數 display 默認為
1
并可被設為0
來停止將回溯發(fā)送至瀏覽器。 如果給出了參數 logdir,則回溯會被寫入文件。 logdir 的值應當是一個用于存放所寫入文件的目錄。 可選參數 context 是要在回溯中的當前源代碼行前后顯示的上下文行數;默認為5
。 如果可選參數 format 為"html"
,輸出將為 HTML 格式。 任何其它值都會強制啟用純文本輸出。 默認取值為"html"
。
- cgitb.text(info, context=5)?
此函數用于處理 info (一個包含
sys.exc_info()
返回結果的 3 元組) 所描述的異常,將其回溯格式化為文本并將結果作為字符串返回。 可選參數 context 是要在回溯中的當前源碼行前后顯示的上下文行數;默認為5
。
- cgitb.html(info, context=5)?
此函數用于處理 info (一個包含
sys.exc_info()
返回結果的 3 元組) 所描述的異常,將其回溯格式化為 HTML 并將結果作為字符串返回。 可選參數 context 是要在回溯中的當前源碼行前后顯示的上下文行數;默認為5
。
- cgitb.handler(info=None)?
此函數使用默認設置處理異常(即在瀏覽器中顯示報告,但不記錄到文件)。 當你捕獲了一個異常并希望使用
cgitb
來報告它時可以使用此函數。 可選的 info 參數應為一個包含異常類型,異常值和回溯對象的 3 元組,與sys.exc_info()
所返回的元組完全一致。 如果未提供 info 參數,則會從sys.exc_info()
獲取當前異常。