Сообщить об ошибке.

Класс PrettyPrinter() модуля pprint в Python

Форматирование списков и словарей перед выводом

Синтаксис:

import pprint

pp = pprint.PrettyPrinter(indent=1, width=80, depth=None, 
                          stream=None, *, compact=False, sort_dicts=True)

Параметры:

  • indent=1 - отступ последующего уровня вложенности,
  • width=80 - ширина экрана печати,
  • depth=None - показывать уровней вложенности,
  • stream=None - поток форматированного вывода,
  • compact=False - компактное форматирование,
  • sort_dicts=True - сортировка словаря перед форматированием,

Возвращаемое значение:

Описание:

Класс PrettyPrinter() модуля pprint создает объект PrettyPrinter и принимает ключевые параметры, отвечающие за красивое форматирование и выходной поток.

Выходной поток может быть установлен с использованием ключевого слова stream. Единственный метод, используемый объектом stream, это метод протокола файла file.write(). Если аргумент stream не указан, то класс pprint.PrettyPrinter по умолчанию принимает sys.stdout.

Количество отступов, добавляемых для каждого рекурсивного уровня, определяется аргументом indent. По умолчанию indent=1. Другие значения могут привести к тому, что вывод будет выглядеть немного странно, но может упростить обнаружение вложения.

Количество уровней, которые могут быть напечатаны, контролируется глубиной depth. Если печатаемая структура данных слишком глубока, следующий вложенный уровень заменяется на '...'. По умолчанию нет ограничений на глубину вложенности.

Желаемая ширина вывода ограничена с помощью параметра ширины width. По умолчанию width=80 символов. Если структура не может быть отформатирована в пределах ограниченной ширины, будут приложены все усилия.

Если аргумент compact=False (по умолчанию), каждый элемент длинной последовательности будет отформатирован в отдельной строке. Если compact=True, то в каждой строке будет отформатировано столько элементов, сколько уместится в ширину.

Если sort_dicts=True (по умолчанию), то словари будут отформатированы с отсортированными ключами, в противном случае они будут отображаться в порядке вставки.

Примеры использования:

>>> import pprint
>>> stuff = ['spam', 'eggs', 'lumberjack', 'knights', 'ni']
>>> pp = pprint.PrettyPrinter(indent=4, width=40)
>>> pp.pprint(stuff)
# [   'spam',
#     'eggs',
#     'lumberjack',
#     'knights',
#     'ni']

>>> stuff.insert(0, stuff[:])
>>> pp.pprint(stuff)
# [   [   'spam',
#         'eggs',
#         'lumberjack',
#         'knights',
#         'ni'],
#     'spam',
#     'eggs',
#     'lumberjack',
#     'knights',
#     'ni']

>>> pp = pprint.PrettyPrinter(width=40, compact=True)
>>> pp.pprint(stuff)
# [['spam', 'eggs', 'lumberjack',
#   'knights', 'ni'],
#  'spam', 'eggs', 'lumberjack',
#  'knights', 'ni']

>>> tup = ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead',
... ('parrot', ('fresh fruit',))))))))
>>> pp = pprint.PrettyPrinter(depth=6)
>>> pp.pprint(tup)
# ('spam', ('eggs', ('lumberjack', ('knights', ('ni', ('dead', (...)))))))