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>
 
 
然后保存退出就可以了。
 
打开 python 的 idle,看看 options 是不是多了一个选项clear shell window  ctrl+L
 
如果是这样的话,那就证明你安装成功了,以后要清屏直接 ctrl+L 就可以了,so ez :)。
 
 
——
后来,我又找到了一个含各种扩展版本的 python idle——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
 
若对本文有任何疑问或者意见,欢迎您及时提出,我会在看到的第一时间马上回复您。         
转载本文请注明作者及出处,谢谢合作:)