Python Glossary English

все Python 3до 3.13Удалено из стандартной библиотекипонятие

cgitb

удалённые модули

Подробный отчёт об исключении в CGI-скрипте, в HTML или тексте. Удалён в Python 3.13 — используйте traceback и logging.

Синтаксис

import cgitb  # до 3.13

cgitb.enable() подменял sys.excepthook: необработанное исключение превращалось в страницу с кодом вокруг ошибки и значениями переменных, а cgitb.text() давал то же текстом. Убран по PEP 594 вместе с cgi. Как переписать: трассировку в строку даёт traceback.format_exc(), в журнал — logging.exception() внутри except; свой обработчик ставится через sys.excepthook; значения переменных покажет traceback.TracebackException(..., capture_locals=True). Отладочную страницу веб-фреймворки показывают сами. Пакет standard-cgitb (и legacy-cgi) на PyPI возвращает модуль.

Примеры

# Python 3.13+
try:
    import cgitb
except ModuleNotFoundError as e:
    print(type(e).__name__)  # → ModuleNotFoundError
# Python 3.13+
import traceback
try:
    1 / 0
except ZeroDivisionError:
    report = traceback.format_exc()
print(report.splitlines()[-1])  # → ZeroDivisionError: division by zero
import cgitb, sys
try:
    1 / 0
except ZeroDivisionError:
    report = cgitb.text(sys.exc_info())
print('ZeroDivisionError' in report)  # → True

См. также

Частые ошибки

Открыть в полном глоссарииdocs.python.orgСообщить о неточности