在学习和使用python的过程中,少不了要与python idle打交道。但使用python idle都会遇到一个常见而又懊恼的问题——要怎么清屏?



 



我在stackoverflow看到这样两种答案:



1.在shell中输入



1 import os
2 os.system('cls')



 

这种方法只能在windows系统中cmd模式下的python shell 才管用(因为cls的命令是针对cmd的),在python idle直接返回了一个0的值。



 



2.定义一个cls的函数,每次使用输入cls()即可



1 def cls(): 
2 print "\n" * 100



这种方法是伪清屏,只是输入满屏的空白而已,光标仍在最下面一行,根本达不到清屏的目的T-T



 



在python的邮件列表中有很多 这样类似的问题 ,但是没看到回答的。



再google了一下,才算找到了答案——为idle增加一个清屏的扩展 ClearWindow 就可以了 (在 http://bugs.python.org/issue6143中可以看到这个扩展的说明)。



下面我说安装使用的方法。首先下载 clearwindow.py(点击可直接下载,不能下载的可以右键保存,格式为py结尾),将这个文件放在 Python X\Lib\idlelib目录下(X为你的python版本),然后在这个目录下找到 config-extensions.def这个文件( idle扩展的配置文件),以记事本的方式打开它(为防止出错,你可以在打开它之前先copy一个备份)。额,打开后它看起来可能会密密麻麻的,如果可以,建议你最好用像 sublime text或vim这样支持高亮格式化的编辑器来打开它。



 



打开 config-extensions.def  后在句末加上这样几句:



 



[ClearWindow]



enable=1



enable_editor=0



enable_shell=1



[ClearWindow_cfgBindings]



clear-window=<Control-Key-l>



 



 



然后保存退出就可以了。



 



打开python的idle,看看options是不是多了一个选项 clear shell window  ctrl+L



 



如果是这样的话,那就证明你安装成功了,以后要清屏直接ctrl+L就可以了,so ez :)。



 


 

——

后来,我又找到了一个含各种扩展版本的python idle—— IdleX, 它就是将各种python idle常用一些的扩展都整合在一起而已,当然也包括clear window。

安装使用并不麻烦,下载下压缩包(点此下载),然后解压运行 idlex.py 就可以了,外形和python原来idle完全一样,只是opinions可以看到更多的选项。

 

不错不错,确实能清,找了好久了。 还是第一种方法好点,直接修改的是Python自带的IDLE。 第二种方法,安装完python idle——IdleX后并没修改Python自带的IDLE,只是在通过idlex.py启动的IDLE里增加了清屏选项。

打开config-extensions.def 后在句末加上这样几句: 
       
[ClearWindow] 
       
enable=1 
       
enable_editor=0 
       
enable_shell=1 
       
[ClearWindow_cfgBindings] 
       
clear-window=<Control-Key-l>



最后一句的Control-Key-l,可以修改成其他快捷键,L和Ctrl隔太远了。我修改成了Control+x,方便多了。

Control修改成Alter,会启动不了IDLE,修改成Shift,不启作用,会直接输入字符大写。