파이썬의 pprint가 인쇄 대신 문자열을 반환하도록하려면 어떻게합니까?


180

다시 말해, sprintf는 pprint와 동등한 것입니까?

답변:


262

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'}]"


14
>>> import pprint
>>> pprint.pformat({'key1':'val1', 'key2':[1,2]})
"{'key1': 'val1', 'key2': [1, 2]}"
>>>


8

이 같은:

import pprint, StringIO

s = StringIO.StringIO()
pprint.pprint(some_object, s)
print s.getvalue() # displays the string 

1
기술적으로 제목만을 고려한 유일한 "올바른"답변
villasv
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.