Question

Parfois, je travaille avec, par exemple, une liste de milliers d’articles dans IDLE, et l’imprime accidentellement sur le shell. Lorsque cela se produit, cela se bloque ou du moins ralentit considérablement. Comme vous pouvez l’imaginer, c’est extrêmement gênant. Y a-t-il un moyen de le faire, plutôt que d'imprimer le tout, de me donner un résumé [1, 2, ...]? Toute aide serait la bienvenue.

Était-ce utile?

La solution

Comme ci-dessus, essayez une fonction d'impression personnalisée telle que:

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

Autres conseils

Utilisez plutôt IPython comme shell.

Vous pouvez utiliser la fonction d'impression personnalisée.

En Python 3, l’impression étant une fonction, vous devriez être en mesure de "substituer". il. (Je ne l'ai pas installé et je ne peux donc pas l'essayer pour en être sûr.) Probablement pas recommandé pour de vraies applications, mais si vous essayez simplement quelque chose, ce serait bien, je suppose.

Cela ressemblerait à quelque chose comme:

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

L'extension Squeezer pour IDLE a été écrite dans ce but précis. D'après la description sur Pypi:

  

IDLE peut se bloquer si une sortie très longue est imprimée. Pour éviter cela, le Squeezer   les extensions saisissent toute sortie de plus de 80 lignes de texte (configurable) et   affiche une boîte rectangulaire à la place:

Squeezer et de nombreuses autres extensions IDLE sont inclus dans IdleX .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top