PHP에서는 다음과 같이 할 수 있습니다.
echo '<pre>'
print_r($array);
echo '</pre>'
Python에서는 현재 다음과 같이합니다.
print the_list
그러나 이로 인해 엄청난 양의 데이터가 발생합니다. 읽을 수있는 트리로 멋지게 인쇄 할 수있는 방법이 있습니까? (들여 쓰기 포함)?
답변
from pprint import pprint
pprint(the_list)
답변
가져올 필요없이 작동하는 디버깅 중 빠른 해킹 pprint
은 '\n'
.
>>> lst = ['foo', 'bar', 'spam', 'egg']
>>> print '\n'.join(lst)
foo
bar
spam
egg
답변
인쇄 함수 인수의 목록을 “압축 해제”하고 구분 기호로 개행 문자 (\ n)를 사용하면됩니다.
print (* lst, sep = ‘\ n’)
lst = ['foo', 'bar', 'spam', 'egg']
print(*lst, sep='\n')
foo
bar
spam
egg
답변
당신은 다음과 같은 것을 의미합니다 … :
>>> print L
['this', 'is', 'a', ['and', 'a', 'sublist', 'too'], 'list', 'including', 'many', 'words', 'in', 'it']
>>> import pprint
>>> pprint.pprint(L)
['this',
'is',
'a',
['and', 'a', 'sublist', 'too'],
'list',
'including',
'many',
'words',
'in',
'it']
>>>
…? 간단한 설명에서 가장 먼저 떠오르는 것은 표준 라이브러리 모듈 pprint 입니다. 그러나 예제 입력 및 출력을 설명 할 수 있다면 (당신을 돕기 위해 PHP를 배울 필요가 없습니다 ;-), 우리가보다 구체적인 도움을 제공 할 수 있습니다!
답변
import json
some_list = ['one', 'two', 'three', 'four']
print(json.dumps(some_list, indent=4))
산출:
[
"one",
"two",
"three",
"four"
]
답변
https://docs.python.org/3/library/pprint.html
텍스트가 필요한 경우 (예 : curses와 함께 사용) :
import pprint
myObject = []
myText = pprint.pformat(myObject)
그런 다음 myText
변수는 php var_dump
또는 print_r
. 더 많은 옵션, 인수에 대한 문서를 확인하십시오.
답변
다른 답변에서 알 수 있듯이 pprint 모듈이 트릭을 수행합니다.
그럼에도 불구하고 전체 목록을 일부 로그 파일에 넣어야하는 디버깅의 경우 pprint와 함께 모듈 로깅 과 함께 pformat 메서드를 사용해야 할 수 있습니다 .
import logging
from pprint import pformat
logger = logging.getLogger('newlogger')
handler = logging.FileHandler('newlogger.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
handler.setFormatter(formatter)
logger.addHandler(handler)
logger.setLevel(logging.WARNING)
data = [ (i, { '1':'one',
'2':'two',
'3':'three',
'4':'four',
'5':'five',
'6':'six',
'7':'seven',
'8':'eight',
})
for i in xrange(3)
]
logger.error(pformat(data))
파일에 직접 기록해야하는 경우 stream 키워드를 사용하여 출력 스트림을 지정해야합니다. Ref
from pprint import pprint
with open('output.txt', 'wt') as out:
pprint(myTree, stream=out)