Python Glossary English

все Python 3warningsфункция

warnings.formatwarning()

вывод предупреждений

Возвращает текст предупреждения в стандартном виде «файл:строка: Категория: сообщение» — его печатает showwarning().

Синтаксис

text = warnings.formatwarning(message, category, filename, lineno, line=None)

Подмена warnings.formatwarning меняет вид всех выводимых предупреждений, не трогая фильтры: так убирают вторую строку с исходным кодом или добавляют время. Строка заканчивается '\n'; если файл с указанным именем читается, второй строкой идёт текст кода из него (через linecache), если нет — её не будет. Предупреждения, отправленные в logging через captureWarnings(), тоже форматируются этой функцией.

Примеры

import warnings
print(repr(warnings.formatwarning('мало памяти', ResourceWarning, 'job.py', 7)))
# → 'job.py:7: ResourceWarning: мало памяти\n'
import sys, warnings
def short(message, category, filename, lineno, line=None):
    return f'{category.__name__}: {message}\n'
warnings.formatwarning = short
warnings.showwarning('диск почти полон', UserWarning, 'job.py', 3, file=sys.stdout)
# → UserWarning: диск почти полон

См. также

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