这绝对令人沮丧,但我不确定以下内容是否仅在我的机器或IDLE上是一个问题。
当尝试在shell中打印一个长列表,而这可能是在调试时偶然发生的,程序会崩溃,你必须手动重新启动它。
更糟糕的是,如果您打开一些编辑器窗口,它总会产生一些子流程,并且每个子流程都必须从任务管理器手动关闭。
有什么办法可以避免吗?
顺便说一句,我正在使用Python 3。
答案 0 :(得分:2)
似乎需要在shell框架中编写大量数据,这需要花费大量时间,当列表很长时,它就会变得没有响应。
我做了:
>>a = range(n)
>>print(list(a))
n = 100或n = 1000就可以了。在那之后,事情开始变慢。对于n低至10000,上下移动页面变得非常非常慢。
我怀疑没有解决方案。对于n的小值,可能会有助于clear()
窗口,但遗憾的是空闲时没有实现任何清除shell的方法。我不明白为什么,因为它应该不难......
修改2012 : 在过去几个月中,IDLE行为和功能通过 IdleX 提供的扩展和插件的集合得到了许多重要的改进。 意外打印大量数据不再是问题。当IdleX检测到这种情况时,它会显示一个警告,指示数据的存在而不是打印它。右键单击警告会生成数据预览,而不是在空闲shell中,而是在系统文本编辑器(Windows中的记事本)上。通过这种方式,shell不会混乱数据也不会减速。
答案 1 :(得分:2)