python idle 清屏问题的解决

在学习和使用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>

 

 

然后保存退出就可以了。

 

clear shell window  ctrl+L

 

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

 

 

——

IdleX, 它就是将各种python idle常用一些的扩展都整合在一起而已,当然也包括clear window。

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

 

 

--------

 

参考: http://stackoverflow.com/questions/2084508/clear-terminal-in-python

           http://stackoverflow.com/questions/1432480/any-way-to-clear-pythons-idle-window

           http://idlex.sourceforge.net/extensions.html