cgitb — CGI 脚本的回溯管理器 — Python 文档

来自菜鸟教程
Python/docs/3.8/library/cgitb
跳转至:导航、​搜索

cgitb — CGI 脚本的回溯管理器

源代码: :source:`Lib/cgitb.py`



cgitb 模块为 Python 脚本提供了一个特殊的异常处理程序。 (它的名字有点误导。 它最初设计用于在 HTML 中为 CGI 脚本显示大量的回溯信息。 后来推广到也以纯文本形式显示此信息。)激活此模块后,如果发生未捕获的异常,将显示详细的格式化报告。 该报告包括一个回溯,显示每个级别的源代码摘录,以及当前运行函数的参数和局部变量的值,以帮助您调试问题。 或者,您可以将此信息保存到文件中,而不是将其发送到浏览器。

要启用此功能,只需将其添加到 CGI 脚本的顶部:

import cgitb
cgitb.enable()

enable() 函数的选项控制是否在浏览器中显示报告以及是否将报告记录到文件中以供以后分析。

cgitb.enable(display=1, logdir=None, context=5, format='html')

该函数通过设置 sys.excepthook 的值使 cgitb 模块接管解释器对异常的默认处理。

可选参数 display 默认为 1 并且可以设置为 0 以抑制向浏览器发送回溯。 如果存在参数 logdir,则追溯报告将写入文件。 logdir 的值应该是放置这些文件的目录。 可选参数 context 是在回溯中围绕当前源代码行显示的上下文行数; 默认为 5。 如果可选参数 format"html",则输出格式为 HTML。 任何其他值强制纯文本输出。 默认值为 "html"

cgitb.text(info, context=5)
此函数处理由 info(包含 sys.exc_info() 的结果的三元组)描述的异常,将其回溯格式化为文本并将结果作为字符串返回。 可选参数 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() 获取当前异常。