Другими словами, что означает sprintf, эквивалентный pprint?
Как получить python pprint для возврата строки вместо печати?
Ответ 1
Модуль pprint имеет команду pformat, для этой цели.
Из документации:
Возвращает форматированное представление объекта в виде строки. отступа, ширина и глубина будут переданы конструктору PrettyPrinter как параметры форматирования.
Пример:
>>> import pprint
>>> people = [
... {"first": "Brian", "last": "Kernighan"},
... {"first": "Dennis", "last": "Richie"},
... ]
>>> pprint.pformat(people, indent=4)
"[ { 'first': 'Brian', 'last': 'Kernighan'},\n { 'first': 'Dennis', 'last': 'Richie'}]"
Ответ 2
Предполагая, что вы действительно имеете в виду pprint
из довольно-печатной библиотеки, тогда вы хотите
pprint.pformat
.
Если вы имеете в виду print
, то вы хотите str()
Ответ 3
>>> import pprint
>>> pprint.pformat({'key1':'val1', 'key2':[1,2]})
"{'key1': 'val1', 'key2': [1, 2]}"
>>>
Ответ 4
Вы ищете pprint.pformat
?
Ответ 5
Что-то вроде этого:
import pprint, StringIO
s = StringIO.StringIO()
pprint.pprint(some_object, s)
print s.getvalue() # displays the string