Programming

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

procodes 2020. 6. 7. 18:28
반응형

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


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


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

pretty-print librarypprint 에서 실제로 의미한다고 가정하면 방법 을 원합니다 .pprint.pformat

당신이 단지 의미한다면 print, 당신은 원합니다.str()


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

찾고 pprint.pformat있습니까?


이 같은:

import pprint, StringIO

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

참고 URL : https://stackoverflow.com/questions/521532/how-do-i-get-pythons-pprint-to-return-a-string-instead-of-printing

반응형