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