유휴 상태가 거대한 목록을 인쇄하지 못하게하려면 어떻게해야합니까?

StackOverflow https://stackoverflow.com/questions/609190

문제

때때로 나는 유휴 상태에서 수천 개의 항목 목록과 함께 작업하고 실수로 쉘에 인쇄 할 것입니다. 이런 일이 발생하면 충돌하거나 적어도 매우 중요한 것은 유휴 상태입니다. 당신이 상상할 수 있듯이, 이것은 매우 불편합니다. 전체를 인쇄하는 대신 그것을 만들 수있는 방법이 있습니까? 요약 된 [1, 2, ...] 출력을주십시오. 어떤 도움이든 큰 감사를드립니다.

도움이 되었습니까?

해결책

위와 같이 다음과 같은 사용자 정의 인쇄 기능을 시도하십시오.

def my_print(obj):  
    if hasattr(obj, '__len__') and len(obj) > 100:  
        print '... omitted object of %s with length %d ...' % (type(obj), len(obj))  
    else: print obj

다른 팁

사용 IPYTHON 대신 쉘로.

사용자 정의 인쇄 기능을 사용할 수 있습니다.

Python 3에서는 인쇄가 함수이므로 "재정의"할 수 있어야합니다. (설치가 없어서 확인하기 위해 시험해 볼 수 없습니다.) 실제 응용 프로그램에 권장하지 않을 수도 있지만 일을 시도하는 경우 괜찮을 것입니다. 괜찮을 것입니다.

그것은 다음과 같은 것입니다.

def myprint(*args):
    # write the function as described by other people
print = myprint

그만큼 압착기 유휴 연장은 이것을하기 위해 작성되었습니다. PYPI에 대한 설명에서 :

매우 긴 출력이 인쇄되면 유휴 상태가 걸릴 수 있습니다. 이를 피하기 위해 Squeezer 확장자는 80 줄 이상의 텍스트 (구성 가능)보다 긴 출력을 포착하고 대신 직사각형 상자를 표시합니다.

Squeezer 및 기타 많은 유휴 확장이 포함되어 있습니다. Idlex.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top