Python Shell 怎样清屏?

Python Shell 怎样清屏?

作者:Arthur Leo
链接:https://www.zhihu.com/question/19942435/answer/24752005
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

启动Python有两种方式,分别为“Windows命令行窗口”和“IDLE”


“命令行窗口”下可以通过如下两种方法:
1. import subprocess
subprocess.call("clear") # linux/mac
subprocess.call("cls", shell=True) # windows
执行完次命令后,窗口顶部第一行会出现一个0,接下来才会是输入提示符“>>>”
消除这个0的方法是在此命令前添加一个变量,例如 i=subprocess.call("cls", shell=True)
2. import os
os.system("cls") # windows
os.system("clear") # linux
执行完次命令后,窗口顶部第一行也会出现一个0,接下来才会是输入提示符“>>>”
消除这个0的方法同方法1
“IDLE”下以上两种方式都不起作用,可以通过建立如下函数实现:
def cls():
print "\n"*80 #Shell 3.0+ 改为 print(('\n'*80))
此函数将命令行往下移动80行,数字80可以自己任意设定
这是伪清屏,只是输入满屏的空格而已
(注:此法新测无效,64win7,Python3.7)

在python的邮件列表中有很多这样类似的问题,但是没看到回答的。
再google了一下,才算找到了答案——为idle增加一个清屏的扩展ClearWindow就可以了(在中可以看到这个扩展的说明)。
下面我说安装使用的方法。首先下载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可以看到更多的选项。

posted @ 2020-02-29 16:19  老菜苗  阅读(1003)  评论(0编辑  收藏  举报