Domanda

A volte lavorerò con, per esempio, un elenco di migliaia di elementi in IDLE, e lo staccherò accidentalmente sulla shell. Quando ciò accade, si arresta in modo anomalo o almeno molto significativo rallenta IDLE. Come puoi immaginare, questo è estremamente scomodo. C'è un modo per farlo, piuttosto che stampare l'intera cosa, solo darmi un risultato riassunto [1, 2, ...]? Qualsiasi aiuto sarebbe molto apprezzato.

È stato utile?

Soluzione

Come sopra, prova una funzione di stampa personalizzata come:

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

Altri suggerimenti

Usa IPython come shell invece.

È possibile utilizzare la funzione di stampa personalizzata.

In Python 3, poiché la stampa è una funzione, dovresti essere in grado di "sostituire" " esso. (Non l'ho installato, quindi non posso provarlo per esserne sicuro.) Probabilmente non è raccomandato per applicazioni reali, ma se stai solo provando le cose, va bene suppongo.

Sarebbe simile a:

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

L'estensione Squeezer per IDLE è stata scritta proprio per questo. Dalla descrizione su Pypi:

  

IDLE può bloccarsi se viene stampato un output molto lungo. Per evitarlo, lo Squeezer   estensioni cattura qualsiasi output più lungo di 80 righe di testo (configurabile) e   visualizza invece una casella rettangolare:

Squeezer e molte altre estensioni IDLE sono incluse in IdleX .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top