2

有时我会在 IDLE 中处理数千个项目的列表,然后不小心将其打印到 shell。发生这种情况时,它会崩溃或至少非常显着地减慢 IDLE。可以想象,这非常不方便。有没有办法制作它,而不是打印整个东西,只给我一个总结的 [1, 2, ...] 输出?任何帮助将非常感激。

4

5 回答 5

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
于 2009-03-12T00:21:44.533 回答
0

改为使用IPython作为 shell。

于 2009-03-04T08:14:28.067 回答
0

您可以使用自定义打印功能。

于 2009-03-04T19:37:20.220 回答
0

在 Python 3 中,由于 print 是一个函数,因此您应该能够“覆盖”它。(我没有安装它,所以我无法尝试确定。)可能不推荐用于实际应用程序,但如果你只是尝试一下,我想没关系。

它会是这样的:

def myprint(*args):
    # write the function as described by other people
print = myprint
于 2009-06-14T00:56:35.357 回答
0

IDLE的Squeezer扩展就是为此而编写的。根据 Pypi 的描述:

如果打印很长的输出,IDLE 可能会挂起。为避免这种情况,Squeezer 扩展会捕获任何超过 80 行文本(可配置)的输出,并改为显示一个矩形框:

Squeezer 和许多其他 IDLE 扩展都包含在IdleX中。

于 2011-11-23T04:27:36.437 回答