все 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Сообщить о неточности