Python IDLE 冻结
这真让人头疼,不过我不确定这个问题是我电脑特有的,还是IDLE本身就有这个问题。
当我在命令行里打印一个很长的列表时,可能在调试的时候不小心就会发生这种情况,程序就会崩溃,然后我得手动重启它。
更糟糕的是,如果你打开了几个编辑窗口,它总是会生成一些子进程,而这些子进程都得从任务管理器里手动关闭。
有没有什么办法可以避免这种情况呢?
顺便说一下,我用的是Python 3。
2 个回答
2
看起来tk在命令行窗口里需要写很多数据,这样会花费很多时间,当列表很长的时候,窗口就会变得无响应。
我做了:
>>a = range(n)
>>print(list(a))
当n等于100或1000的时候还可以。但一旦超过这个数,事情就开始变得慢了。比如n达到10000时,上下滚动页面就变得非常非常慢。
我怀疑没有解决办法。对于小的n值,可能清空一下窗口会有帮助,但可惜的是,idle并没有实现清空命令行窗口的方法。我不明白为什么,因为这应该不难……
编辑于2012年:
在过去的几个月里,IDLE的表现和功能通过一些扩展和插件得到了很多重要的改进,这些扩展和插件由IdleX提供。
意外打印大量数据的问题不再存在。当IdleX检测到这种情况时,它会显示一个警告,提示有数据存在,而不是直接打印出来。右键点击这个警告会在系统文本编辑器(Windows的记事本)中预览数据,而不是在idle的命令行窗口中。这样一来,命令行窗口就不会被数据弄得乱七八糟,也不会变慢。