Python 实现清屏
使用Python的IDLE到某个程序节点时,需要清屏以提高清晰度.
但IDLE本身并没有这个功能,我们可以通过扩展来实现类似于Ctrl + L的清屏
资料来自于百度经验的 BinnLZeng
先制作一个python文件ClearWindow.py
1 #File Name:ClearWindow.py 2 class ClearWindow: 3 menudefs = [ 4 ('options', [None, 5 ('Clear Shell Window', '<<clear-window>>'), 6 ]),] 7 8 def __init__(self, editwin): 9 self.editwin = editwin 10 self.text = self.editwin.text 11 self.text.bind("<<clear-window>>", self.clear_window) 12 13 def clear_window2(self, event): 14 # Alternative method 15 # work around the ModifiedUndoDelegator 16 text = self.text 17 text.mark_set("iomark2", "iomark") 18 text.mark_set("iomark", 1.0) 19 text.delete(1.0, "iomark2 linestart") 20 text.mark_set("iomark", "iomark2") 21 text.mark_unset("iomark2") 22 if self.text.compare('insert', '<', 'iomark'): 23 self.text.mark_set('insert', 'end-1c') 24 self.editwin.set_line_and_column() 25 26 27 def clear_window(self, event): 28 # remove undo delegator 29 undo = self.editwin.undo 30 self.editwin.per.removefilter(undo) 31 # clear the window, but preserve current command 32 self.text.delete(1.0, "iomark linestart") 33 34 if self.text.compare('insert', '<', 'iomark'): 35 self.text.mark_set('insert', 'end-1c') 36 37 self.editwin.set_line_and_column() 38 39 # restore undo delegator 40 self.editwin.per.insertfilter(undo)
然后,将该文件move至 {PYTHON_HOME}\Lib\idlelib中
修改config-extensions.def文件
在末尾添加
[ClearWindow] enable=1 enable_editor=0 enable_shell=1 [ClearWindow_cfgBindings] clear-window=<Control-Key-l>
来解释下什么意思
enable=1
#1为真 意思就是启用这个扩展
enable_editor=0
#编辑器禁用这个扩展
enable_shell=1
#IDLE Shell启动扩展
clear-window=<Control-Key-l>
#设置快捷键为Ctrl + L
---------------------------分割线-----------------------
再打开IDLE
点击Options,可以看到我们的扩展被成功加载。
同样,我们可以按下Ctrl + L进行清屏操作。我们还可以通过clear-window=<Control-Key-l>修改快捷键,例如修改为ctrl + 3,则是clear-window=<Control-Key-3>
posted on 2019-01-09 14:14 Xux_china 阅读(1085) 评论(0) 编辑 收藏 举报